Скрипт бекапа сайтов на web сервере
8 Октябрь 2009
Захотелось автоматизировать создание баков на веб сервере. Для этого у всех учеток изменил описание на hosting, что можно было всех махом выдернуть из /etc/passwd. В итоге получился такой скрипт который не зависит от вновь заведенных сайтов. Он сам обработает новых товарищей.
#!/bin/sh
#########################################################################################
# Created: Zakharchenko Andrey Ruslanovich
# Date: 2009.09.16
# Description: Скрипт создания резервных копий сайтов отдельными арховами
#########################################################################################
#--- приветствие так сказать
/bin/echo "1. Backup hosting folders start. Time start: `/bin/date +%Y:%m:%d:%H:%M:%S`"
/bin/echo ""
#--- цикле перебираем /etc/passwd и получаем путь до домашних папок
for i in `cat /etc/passwd |awk -F: '$5~"hosting" {print($6)}'`;
#--- создаем целевую папку для архивов
do mkdir -p /var/files/backups/hosting/`date +%Y/%m/%d`&& \
#--- выводим информацию о том какой сайт архивируется и когда начал архивироваться
/bin/echo "Backup hosting folders: `/bin/echo $i` start. Time start: `/bin/date +%Y:%m:%d:%H:%M:%S`" && \
#--- список исключений которые не попадут в архив
tar --exclude *access.log --exclude *error.log --exclude tmp --exclude php-cgi.core \
#--- ну и собственно чего архивируем и куда кладем
-cjf /var/files/backups/hosting/`date +%Y/%m/%d`/`date +%Y.%m.%d.%H%M`-`\
echo $i |awk -F '/' '{print($5)}'`.tar.bz2 $i;
done
#########################################################################################
# Created: Zakharchenko Andrey Ruslanovich
# Date: 2009.09.16
# Description: Скрипт создания резервных копий сайтов отдельными арховами
#########################################################################################
#--- приветствие так сказать
/bin/echo "1. Backup hosting folders start. Time start: `/bin/date +%Y:%m:%d:%H:%M:%S`"
/bin/echo ""
#--- цикле перебираем /etc/passwd и получаем путь до домашних папок
for i in `cat /etc/passwd |awk -F: '$5~"hosting" {print($6)}'`;
#--- создаем целевую папку для архивов
do mkdir -p /var/files/backups/hosting/`date +%Y/%m/%d`&& \
#--- выводим информацию о том какой сайт архивируется и когда начал архивироваться
/bin/echo "Backup hosting folders: `/bin/echo $i` start. Time start: `/bin/date +%Y:%m:%d:%H:%M:%S`" && \
#--- список исключений которые не попадут в архив
tar --exclude *access.log --exclude *error.log --exclude tmp --exclude php-cgi.core \
#--- ну и собственно чего архивируем и куда кладем
-cjf /var/files/backups/hosting/`date +%Y/%m/%d`/`date +%Y.%m.%d.%H%M`-`\
echo $i |awk -F '/' '{print($5)}'`.tar.bz2 $i;
done
Вот такой получился маленький и удобный скриптец

.gif)

>Для этого у всех учеток изменил описание на hosting, что можно было всех махом выдернуть из /etc/passwd
Я в шоке, у вас что там группы не модно стало использовать?!
Модно использовать
просто изначально у всех сайтов был такой комментарий, ну практически у всех. Дело было за малом, у не достающих изменить на нужное. Так что не вижу в чем проблема?