Bash: различия между версиями
Перейти к навигации
Перейти к поиску
Vovan (обсуждение | вклад) (Новая: ==Работа с файлами содержащими пробелы== #!/bin/bash OLD_IFS=$IFS IFS=$(echo "") for i in $(ls *.odt) do echo "$i" done IFS=$OLD_IFS (11:31:41) ...) |
Vovan (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
(11:31:41) Юрий Азовцев: переопределяем переменную окружения IFS (она содержит символ - разделения слов в строке), меняем его на символ \n - перевода на новую строку - и все хокей | (11:31:41) Юрий Азовцев: переопределяем переменную окружения IFS (она содержит символ - разделения слов в строке), меняем его на символ \n - перевода на новую строку - и все хокей | ||
− | ==== | + | ==Загрузка файла с хоста уменьшающего скорость== |
+ | |||
+ | #!/bin/bash | ||
+ | #antishaper.sh | ||
+ | for i in $(seq 1 100) | ||
+ | do | ||
+ | wget -c $1 & | ||
+ | wget_pid=$! | ||
+ | sleep 20s #ожидаем 20 секунд | ||
+ | ps ux | grep $wget_pid | grep wget | ||
+ | if [ $? -eq '1' ] | ||
+ | then | ||
+ | exit 1 | ||
+ | fi | ||
+ | kill $wget_pid | ||
+ | done | ||
+ | |||
+ | ==Бэкапы с уделением бэкапов за последние 30 дней== | ||
+ | |||
+ | #!/bin/bash | ||
+ | #backuper.sh | ||
+ | tar -czpf $(date +%Y-%m-%d)-backup.tar.gz $1 | ||
+ | echo "Backup Finished" | ||
+ | period=2592000 | ||
+ | for i in $(ls *-backup.tar.gz) | ||
+ | do | ||
+ | time=${i%-backup.tar.gz} | ||
+ | file_utime=$(date --date="$time" +%s) | ||
+ | cur_utime=$(date +%s) | ||
+ | if [ $(($cur_utime - $file_utime)) -gt $period ] | ||
+ | then | ||
+ | rm $i | ||
+ | echo "File $i deleted" | ||
+ | fi | ||
+ | done |
Версия 10:54, 28 апреля 2012
Работа с файлами содержащими пробелы
#!/bin/bash OLD_IFS=$IFS IFS=$(echo "") for i in $(ls *.odt) do echo "$i" done IFS=$OLD_IFS
(11:31:41) Юрий Азовцев: переопределяем переменную окружения IFS (она содержит символ - разделения слов в строке), меняем его на символ \n - перевода на новую строку - и все хокей
Загрузка файла с хоста уменьшающего скорость
#!/bin/bash #antishaper.sh for i in $(seq 1 100) do wget -c $1 & wget_pid=$! sleep 20s #ожидаем 20 секунд ps ux | grep $wget_pid | grep wget if [ $? -eq '1' ] then exit 1 fi kill $wget_pid done
Бэкапы с уделением бэкапов за последние 30 дней
#!/bin/bash #backuper.sh tar -czpf $(date +%Y-%m-%d)-backup.tar.gz $1 echo "Backup Finished" period=2592000 for i in $(ls *-backup.tar.gz) do time=${i%-backup.tar.gz} file_utime=$(date --date="$time" +%s) cur_utime=$(date +%s) if [ $(($cur_utime - $file_utime)) -gt $period ] then rm $i echo "File $i deleted" fi done