Полезни Bash скриптове за Уеб Разработчици Част 2

Публикувано в Bash скриптове на 02.03.2010

Здравейте, това е едно продължение не материала за полезни bash скриптчета. Първата част от тази поредица можете да намерите тук: Полезни Bash скриптове за Уеб Разработчици Част 1

Не искам да ви губя времето с излишни писаници и затова направо почвам с примерчетата.

7. Намиране на файлове с определена или неопределена големина

Представете си, че сте програмист и работите по доста голям проект. В един момент забелязвате или почват да ви пищят, че нещо мястото на харда ви свършва. Пробелм !!!. Понеже вие сте тарикати и не си играете да преглеждате файл по файл кой колко е гоялм, а с 1 ред си решавате проблема.

find / -size +50M

Мисля, че разбирането на това редче е съвсем елементарно, но за тези от вас които се чудят все още какво прави това ще се опитам да обясня простичко:
- find е програмче което търси в / (това е главната директория на Linux) файлове с големина по-голяма от 50 MB. Удобно нали :)

8. Автоматично изтриване на Backups по стари от …

След като, сте намерили големите файлове, които ви пълнят целия HDD сте забелязали, че 100GB от тях са Backups. И тук си казвате добре де за какво са ми толкова много Backups, по-старите от 15 дни примерно не ми трябват … в следващия момент почвате да се почесвате по главата и се сещате, че на един Мариан в блога му имаше нещо такова, което става с един ред :)

find /home/backups_dir/ -type f -mtime +15 -exec rm {} \;

Нещо много важно: Внимавайте изключително много с това коя директория ще обработвате, защото скриптчето не го интересува дали файловете които трие са нужни или ненужни, тоест може да ви забърше половината ако не цялата операционна система ако направите някаква грешка.

9. Търсене на PHP файлове със синтактични грешки

Ако работите по няколко проекта и сте доста разсеян или просто без да искате сте объркали някъде нещо, изтрили сте някоя запетайка, някоя точка, кавичка или сте направили някаква друга глупост, която предизвиква големи червени грешки, това скриптче може ви бъде верен слуга когато искате да видите дали навсякъде всичко е коректно написано.

find . -type f -name \*.php -exec php -l {} \;

Искам само да уточня за точицата за хората които не са запознати, че тя означава директорията в която съм в момента. Тоест ако сме написали

cd /home/mignev

тогава find . означава търси във /home/mignev/

10. Ако не вярвате много на crontab

Тук ще ви предложа едно много готино решение ако нещо не се доверявате на crontab. При мен ситуацията с cron-a е много странна, защото в повечето от случаите не ми върши работата която иска, а в другата голяма част от случаите въобще не ми върши никаква работа. Точно тук идва на помощ:

start-stop-daemon --start --quiet --background --make-pidfile \
 --pidfile "/var/run/background_script.pid" --exec /home/mignev/background_script.php

Както се вижда от името на програмчето то ви стартира скрипта като демонче и благодарение на опциийките които съм добавил допълнително това демонче сега ми работи на Background и си има и pidfile и знам, че щом съм казал да работи значи ще работи … добре де в 99% от случаите :)

11. Как да накажем непослушните колеги

Представете си, че сте се побъркали от работа пушите от всякъде и не на последно място имате root на router-a :)),  а колегата до вас по цял ден се счупва да се хили на „Serbian Lessons“ в YouTube :) Ами ето това хубаво редченце ще ви свърши черната работа:

###
# За по сигурно го заключете и по IP
###
iptables -A FORWARD -s IP_TO_NA_NEPOSLUSHNIKA -d youtube.com -p tcp --dport 80 -j DROP

Надявам се този материал да ви е бил полезен и ще се опитам да измисля и напиша част 3.

Прочетете Част 1

Етикети: , , , , , ,


Вашият коментар