Рано или поздно мы сталкиваемся с проблемой, которая в IT-индустрии подобна краху.
Не будем говорить, сколько человек пострадало от того, что вовремя не сохранили данные и не будем приводить отдельные примеры, а обобщим всё одним простым понятием — бэкап обязательно нужно делать.
Хочу привети самый простой способ сделать бэкап на Вашем сервере или VDS,
Но не стоит забывать, что этот бекап Вас может спасти только от неосторожности при работе с файлами на Вашем сервере, ну и что не маловажно — это при легком взломе Вашего сайта — можно будет восстановиться из локального бекапа.
Это было не большое вступление, а теперь к делу.
нам нужно создать файлик /root/scripts/backup.sh и вставить в него следующий код
#!/bin/sh
user="someusername"
wwwdir="/home/$user/www"
dbpass="mysqlpass"
backupdir="/home/backup"
timesave="4"
curdate=`date +%d%m%Y`
AllDB=`mysqlshow -p$dbpass|awk {'print $2'}|grep -v ^$|grep -v ^Databases`
mkdir -p $backupdir/$curdate
find $backupdir -type d -mtime +$timesave -exec rm -rf {} \;
for i in $AllDB; do
mysqldump -p$dbpass $i > $backupdir/$curdate/$i.sql
done
tar -czf $backupdir/$curdate/db.tgz $backupdir/$curdate/*.sql
rm $backupdir/$curdate/*.sql
tar -cf $backupdir/$curdate/www.tar $wwwdir
chmod -R 400 $backupdir
chown -R $user:$user $backupdir
здесь нужно изменить некоторые переменные на Ваше усмотрение — это:
$user — имя пользователя, данные которого будем бекапить
$wwwdir — абсолютный путь к данным, которые будем бекапить
$dbpass — пароль пользователя root для mysql
$backupdir — папка, в которой будем хранить бекапы
$timesave — количество архивов, которое будет храниться
теперь нам нужно добавить вызов скрипта в cron
[sourcecode language=’bash’]
crontab -e
[/sourcecode]
вот эту строку вставляем туда для ежедневного запуска скрипта:
[sourcecode language=’bash’]
0 1 * * * /bin/sh /root/scripts/backup.sh
[/sourcecode]
всё — теперь Ваши данные частично в безопастности.