LINUX.ORG.RU

Bash скрипт.


0

0

Есть такой вопрос. Значит имеется у меня в корневой директории сайта порядка 300 сайтов на различных движках. Из них около 140 на wordpress. Так я хочу в каждую корневую директорию сайта, который стоит на wordpress загнать папку my_test. Установить права 777 на неё и на дочерние в ней папки. Вот у меня такой алгоритм: 1) Ищу директории, где стоит wordpress(у меня идея искать - это предмет обнаружения в директории файла wp-admin.css). 2) Затем перехожу в корневую директорию этого сайта. 3) Распаковываю туда архив. Захожу в ту распакованную папку. Выставляю права 777 на неё и на дочерние в ней папки. 4)Выхожу обратно в корневую директорию сервера и продолжаю поиск. Вот у меня вопрос - каким образом поставить условие - что файл wp-admin.css есть в такой то директории? каким образом определить что это та директория и зайти именно в корневой её раздел? У кого были похожие задачи подскажите пожалуйста. Не очень хочется вручную делать такое огромное количество движков ( Заранее спасибо.

корневой каталог сервера /var/www/admin/data/www - сайты лежат в нём. затем в директории каждого сайта лежит точнее файл wp-settings.php - вот на его наличие проще ориентироваться. если он есть то это движок wordpress.



Последнее исправление: projdevel (всего исправлений: 1)

#как-то так

wordpress="wp-admin.css"
archive="/где/там/у/тебя/архив.tar.gz"

cd "/где/там/у/тебя/сайты"
for i in $(ls); do
        if [ -n "`find $i | grep $wordpress`" ]; then
                tar xvf "$archive" || continue;
                chmod -R 777 "$(basename $archive)"
        fi
done
Hetor
()
Ответ на: комментарий от Hetor

Огромное спасибо великий гуру скриптига! *THUMBS UP*

projdevel
() автор топика
Ответ на: комментарий от Hetor

Цитируем Hetor

cd «/где/там/у/тебя/сайты» for i in $(ls); do if [ -n «`find $i | grep $wordpress`» ]; then

find /где/там/у/тебя/сайты -d wordpress -exec ...

BreadFan ★★
()
Ответ на: комментарий от BreadFan

find: warning: the -d option is deprecated; please use -depth instead, because the latter is a POSIX-compliant feature.
find: paths must precede expression: wordpress
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

Hetor
()
Ответ на: комментарий от Hetor

очередная итерация

find /где/там/у/тебя/сайты -name wordpress -type d

BreadFan ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.