Эту команду использую для создания бэкапов сайта. Т. е. ищет директорию и создаёт архив в другой директории.
cd /var/www/ && find . -name 'html' -type d -maxdepth 1 -exec tar -cvjf /media/500g/backup/site.xx/html_`date '+%Y-%m-%d'`.tar.bz2 {} \;
Разберём по порядку:
cd /var/www/ - переход в нужную директорию.
далее выполняется
find . -name 'html' -type d -maxdepth 1 - поиск в текущей директории папки с имененм 'html' и грубиной поиска в 1 каталог.
После этого параметр -exec tar -cvjf запаковывает найденную директорию в указанную директорию. В имя архива добавляется дата создания архива.
Следующая команда удаляет эти же архивы созданые более чем 20 дней назад.
cd /media/500g/backup/site.xx/ && find . -name 'html*' -mtime +20 | xargs rm -rf
Аналогично, переходим в директорию командой cd, после ищем в текущей директории всё с именем начинающимся на 'html' и с датой создания более 20 дней назад.
Этой командой можно вывести все IP адреса из логов Apache. Т.е. простотреть с каких IP адресов ходят на сайт.
tail -10000 /var/log/apache2/access.log | sort | uniq -w 4 | awk '{match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); ip = substr($0,RSTART,RLENGTH); print ip}'
Команда для поиска содержимого в файлах. Например, нужно нам найти файл в котором встречается слово start:
grep -r -n start /path/where/search/
Если поиск состоит из более, чем одного слова, то поисковая фраза берётся в кавычки:
grep -r -n 'start script' /var/www/site/
Команда для просмотра содержимого файла с выводом последних 444 строк. Исключение составляют те, в которых встречаются два условия: 192.168. и 213.87.
tail -444 /var/log/apache2/access-nef.log | egrep -v '192.168.|213.87'