В своё время у меня был скрипт который закачивал на сайт файлы и размещал их в www/upload/ и делал запись базе данных. Постепенно хостинг разросся, директорий www/upload/ стало множество и возникла потребность в менеджере закачанных файлов. Пришлось написать вот такой скрипт
for f in $(find ~/*/www/upload/ -type f -maxdepth 1 );
do
domen=$(echo $f| awk -F/ '{print $1}')
filename=$(echo $f| awk -F/ '{print $4}')
dt=$(stat -t %y-%m-%d $f| awk -F \" '{print $2}')
echo "update files set date=$dt,id_domen=(select id from domen where domen_name='$domen') where filename='$filename'";
done > file.sql
mmysql < files.sql
тут в цикле перебираются все файлы из директорий /www/upload/ всех сайтов, из полученного имени файла выделяется в переменные название домена, собственно имя файла и дату создания файла, а затем эти переменные используются для формирования sql запроса который делает привязку каждого файла к домену для которого он закачан
И именно за это, простую и наглядную автоматизацию рутинных действия, я обожаю bash и интерфейс командной строк
Комментариев 0