Столкнулся с проблемой, необходимо найти css, js и файлы изображений, которые давно не используются. В ходе развития проекта, менялись всевозможные компоненты на JS и соответственно от них остался различный мусор в виде CSS и изображений. Поискав в интернете что ни будь подходящее для себя, я так ничего и не нашел и решил написать небольшой скриптик.
#!/bin/bash
if [ $# -ne 3 ]
then
echo 'Необходимо передавать 3 параметра'
echo 'лог_Apache виртуальная_директория директория_с_файлами'
exit
fi
apache_log=$1
web_dir=$2
local_dir=$3
cur_dir=`pwd`
cat $apache_log | awk '{print $7; }' | grep $web_dir | awk '{gsub("$web_dir", ".", $0); print $0}' | sort | uniq > /tmp/$$rez
cd $local_dir
find ./ -type f | grep -vE .svn | sort | uniq > /tmp/$$rez_find
cd $cur_dir
diff --line-format="%L" /tmp/$$rez /tmp/$$rez_find
rm /tmp/$$rez /tmp/$$rez_find
Суть его заключается в том, что он в начале просматривает файл журнала Apache и создает список файлов, к которым были обращения. Затем создает список существующих файлов, и находит различая в этих списках. Результатом работы скрипта, является список файлов которые не использовались.
Пример запуска:
./fnuf.sh /var/log/apache2/access.log /AR_2_3_3/img /var/www/AR_2_3_3/app/webroot/img/
Данный скрипт нуждается в улучшении, и если он будет пользоваться спросом и у меня будет время, то я его возможно доработаю.
Недостатки:
Автор: Сергей Степанов
Поделиться @