Скрипты для системных администраторов *NIX, Полезные скрипты для *NIX |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6706-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Скрипты для системных администраторов *NIX, Полезные скрипты для *NIX |
Pilson |
Пост
#1
|
Репутация: ![]() ![]() Selachimorpha ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 2 777 С нами с: 23-May 09 ![]() |
Предлагаю в этой теме делиться различными скриптами для маленьких и не очень нужд, для облегчения жизни себе, любимым
![]() В основном для Bash, PERL, AWK, но также приветствуется и остальное. |
![]() ![]() |
Fill |
Пост
#2
|
Репутация: ![]() ![]() Дух Группа: Пользователи Сообщений: 180 С нами с: 17-March 06 ![]() |
Подскажите пжлст.
Есть конструкция вида ... some code was here... check_proc() { pgrep -u $USER -f $PGREP_STRING >/dev/null } killproc() { pkill -u $USER -f $PGREP_STRING } check_proc if [ $? -eq 0 ]; then echo "$NAME launched, killing process. Wait a bit..." killproc until [ $? -ne 0 ]; do sleep 1 echo "Rechecking..." check_proc done check_proc if [ $? -eq 0 ]; then log_failure_msg "Error stopping $NAME." exit -1 else log_success_msg "Stopped $NAME." fi else log_failure_msg "$NAME is not running or you don't have permission to stop it" fi Нужно после, например, сотой итерации until валить скрипт с ошибкой или пользовать pkill -9 java. Как добавить? |
protrue |
Пост
#3
|
Репутация: ![]() ![]() Cтаршой ![]() ![]() Группа: Пользователи Сообщений: 944 С нами с: 22-April 08 ![]() |
Подскажите пжлст. Стандартная конструкция с инит скрипта для SQUID: SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20} SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100} start() { # Check if $SQUID_PIDFILE_DIR exists and if not, lets create it and give squid permissions. if [ ! -d $SQUID_PIDFILE_DIR ]; then mkdir $SQUID_PIDFILE_DIR; chown -R $SQUID_USER.$SQUID_DIR $SQUID_PIDFILE_DIR; fi probe parse=`$SQUID -k parse -f $SQUID_CONF 2>&1` RETVAL=$? if [ $RETVAL -ne 0 ]; then echo -n $"Starting $prog: " echo_failure echo echo "$parse" return 1 fi for adir in $CACHE_SWAP; do if [ ! -d $adir/00 ]; then echo -n "init_cache_dir $adir... " $SQUID -z -F -f $SQUID_CONF >> /var/log/squid/squid.out 2>&1 fi done echo -n $"Starting $prog: " $SQUID $SQUID_OPTS -f $SQUID_CONF >> /var/log/squid/squid.out 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ]; then timeout=0; while :; do [ ! -f /var/run/squid.pid ] || break if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then RETVAL=1 break fi sleep 1 && echo -n "." timeout=$((timeout+1)) done fi [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID [ $RETVAL -eq 0 ] && echo_success [ $RETVAL -ne 0 ] && echo_failure echo return $RETVAL } stop() { echo -n $"Stopping $prog: " $SQUID -k check -f $SQUID_CONF >> /var/log/squid/squid.out 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ]; then $SQUID -k shutdown -f $SQUID_CONF & rm -f /var/lock/subsys/$SQUID timeout=0 while :; do [ -f /var/run/squid.pid ] || break if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then echo return 1 fi sleep 2 && echo -n "." timeout=$((timeout+2)) done echo_success echo else echo_failure if [ ! -e /var/lock/subsys/$SQUID ]; then RETVAL=0 fi echo fi rm -rf $SQUID_PIDFILE_DIR/* return $RETVAL } пильнул скрипт ![]() #!/bin/bash virsh shutdown vm_id && cp /home/vm-pool/vm_id.img /home/vm_id.img-`date +%d-%B-%Y` && virsh start vm_id и вот нужно сделать паузу после virsh shutdown vm_id, 40сек и после virsh start vm_id отправить мейл, о том что копирование завершено. подскажет кто? Если не настраивать релей локально то можно почитать о .msmtprc .muttrc |
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 25th July 2024 - 6:41 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |