Главная > Программирование, Работа > Скрипт бекапа сайтов на web сервере

Скрипт бекапа сайтов на web сервере

Захотелось автоматизировать создание баков на веб сервере. Для этого у всех учеток изменил описание на 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

Вот такой получился маленький и удобный скриптец :)

  1. 8 Октябрь 2009 в 12:28 | #1

    >Для этого у всех учеток изменил описание на hosting, что можно было всех махом выдернуть из /etc/passwd

    Я в шоке, у вас что там группы не модно стало использовать?! :)

  2. abigor
    10 Октябрь 2009 в 13:17 | #2

    Модно использовать :) просто изначально у всех сайтов был такой комментарий, ну практически у всех. Дело было за малом, у не достающих изменить на нужное. Так что не вижу в чем проблема?

  1. Пока что нет уведомлений.
Необходимо войти на сайт, чтобы написать комментарий.