$(curl ....)
which python3.6
which zip
/usr/bin/zip zip -P 12345 ....
#!/bin/sh
# Пример пути до сайта /var/www/site.ru/web/
SITEDIR="/var/www" # Папка до названия доменаов
WEB="web" # Папка после названия доменов (если есть)
DBCONN="bitrix/php_interface/dbconn.php" # Откуда читать настройки mysql
FTPUSER="1111111" # Логин FTP сервера
FTPPASS="22222222" # Пароль FTP
FTPHOST="u113948.site.ru" # сервер FTP
FTPDIR="/ks03.ru/site/" # папка на FTP
TMPDIR="/var/backup/site" # Где будут храниться временные файлы
DATE=`date +"%Y-%m-%d"` # Формат даты в имени файла
DATEYM=`date +%Y`/`date +%m` # Второй форматы даты
LIST=${1:-`ls -L $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка можно убрать только -L ;) ( не брать вот эти файлы )
test ! -d $TMPDIR/$DATEYM && mkdir -p $TMPDIR/$DATEYM # создаем структ уру каталогов если их нет
for ELEMENT in $LIST
do
if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ];
then
echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
else
mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта" || echo "Ошибка дампа базы данных " $DBNAME
fi
echo "MySql, чтоб вам прям ну совсем не марать ручки"
echo "$DBLOGIN"
echo "$DBPASS"
echo "$DBNAME"
echo "Архивируем сайт $ELEMENT"
tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
echo "Сохраняем $ELEMENT на FTP"
echo "wput --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR"
wput --disable-tls --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://u148-sub4:W3qyu9NRcVVi51bN@$FTPHOST/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks02
done
rm -r $TMPDIR
find /etc/nginx -type f -exec grep -l 3dpaneli.ru {} \; | xargs ls -lah
find -
искать в каталоге-type f
только имена файлов-exec
выполнить команду с найденым файломgrep -l
- не выводить сам греп а выводить имя файла в котором он нашел {}
- то что на выводе у find \;
- просто заканчиваем файнд|
- вывод передаем следующей командеxargs ls -lah
xargs почитай отдельно короче он передаст вывод пути файла на ls -lah и получаем все че хочеш man ls | grep -A 1 "\-\-color\[=WHEN\]"
-A 1
- after 1 строка после найденого'\-\-color\[\=WHEN\]'
- экранируем спец символыman ls | grep -A 1 "\-\-color\[=WHEN\]" | tail -n1
tail - n1
показать 1 строчку с концаman ls | grep -A 1 "\-\-color\[=WHEN\]" | grep -v =WHEN
cat /var/log/nginx/access.log | grep "тут признак того что хиты нужные тебе пошли на него" | grep " тут признак по дате или через awk там омжно диапазон дат указывать." && /usr/bin/php /home/www/xxxx/current/app/cli.php cache clear prod
find . -type f -regextype posix-egrep -regex ".*/(.{3,5})\.([^\.]+)$"
-exec
но можно и пережитьfind . -type f | grep -P "/(.{3,5})\.([^\.]+)$"
cat you.log | grep "условие по дате" | grep "ваше условие че вы там ищете" | grep " тут еще условие" > 111.txt
|
tail -f | grep
поскольку вы в отличие от открывания лога тут смотрите в режиме риалтамйм, очень удобно для работы.find /tmp/you_papka -type d -exec chmod 755 {} ;\
- выставить права на все каталогиfind /tmp/you_papka -type f -exec chmod 644 {} ;\
- выставить права на все файлы в этой папке и нижеchmod -R root:root /tmp/you_papka
- владелец root группа root на все что в этой папке (опасная команда вводить только с полным путем иначе есть вариант снести права всей системы ооочень быстро работает.