egrep -c -i -U "dev" || echo "гре ничего не нашел и вернул статус фейл"
grep -q -ciU
- возвращяет статус 0 если поиск успешен. find . -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)" -print0 | xargs -0 cp --parents --target-directory ./tmp/backup
Changed:
Moduvied:
Accessed:
find . -type f -mtime -7 -exec sed -i 's/test2/test21/g' "{}" \;
find .
ищем от текущей папки и ниже рекурсивно.-type f
только файлы-mtime -7
Измененые последние семь дней.-exec Команда {}" \;
выполнить команду с найденым файлом (цикл)sed -i 's/test2/test21/g
- найти строчку test и заменить ее на test21patch
или diff
сложнее но точно устроит git
csync2
rcync
- как более простой вариант ( имеет встроенную функцию )find
-mtime — время последнего изменения файла (в днях).
-mmin — время последнего изменения файла (в минутах).
и тд
wput
wput --limit-rate=3000K --timestamping --output-file=/var/log/wput.log /var/backup/site/ ftp://логины:пароли@сервера/home/odessa/infoodessa.ru/docs/tmp/
#!/bin/sh
cd /var/www
DATE=`date +"%Y-%m-%d"`
LIST=`ls | grep -E ".*\.\w{1,4}"`
(echo "Subject: Бэкап 2 server начат"; cat /var/log/wput.log;) | /usr/sbin/sendmail ТУТ_ТВОЙ@mail.ru
test ! -d /var/backup/site/`date +%Y`/`date +%m` && { mkdir -p /var/backup/site/`date +%Y`/`date +%m` ; }
for ELEMENT in $LIST
do
tar -zcvpf /var/backup/site/`date +%Y`/`date +%m`/$ELEMENT-$DATE.tar.gz /var/www/$ELEMENT/web --exclude=backup --exclude=managed_cache --exclude=stats --exclude=resize_cache >> /dev/nool 2> /var/log/file_backup.err
done
tail -f /var/log/messages | grep "че вам нужно"
- и получаете живой лог только по этой строке tail -f /var/log/messages | grep "че вам нужно" > 111.txt
mysql -uroot -pтут_парол << EOF
Тут что нужно записать
EOF
zip -r -0
chown -R user:group /var/www/site.ru/
unzip 111.zip -d 111
unzip 111.zip -d ./111