Ubuntu Server: Возможен ли автобэкап каталога и MySQL бд с добавлением в архив и загрузкой на облако?
#! /bin/sh
to_cat=/backup
date_time=`date +"%Y-%m-%d_%H-%M-%S"`
echo Start Backup Process $date_time >> /var/log/vhc_backup.log
mysqldump -uwordpressuser -pПарольТут ИмяБазы > $to_cat/mysql_$date_time.sql
tar -cjf $to_cat/vhc_wordpress_$date_time.tar.bz2 $to_cat/mysql_$date_time.sql
rm $to_cat/mysql_$date_time.sql
tar -cjpf $to_cat/vhc_etc_$date_time.tar.bz2 /etc /shscripts
tar -cjpf $to_cat/vhc_vmail_$date_time.tar.bz2 /var/vmail
tar -cjpf $to_cat/vhc_html_$date_time.tar.bz2 /var/www/html
date_time_end_arch=`date +"%Y-%m-%d_%H-%M-%S"`
echo End creating archives $date_time_end_arch >> /var/log/vhc_backup.log
# Удаляем копии, которые старше 3 дней
find $to_cat -name '*.gpg' -mtime +1 -delete
# Копирование резервного архива на удаленный FTP-сервер
echo Start FTP Copying $date_time_end_arch >> /var/log/vhc_backup.log
ftpuser='Имя_Польз'
password='Пароль'
ftpserver='IP_Address'
file_etc=vhc_etc_$date_time.tar.bz2
file_vmail=vhc_vmail_$date_time.tar.bz2
file_html=vhc_html_$date_time.tar.bz2
file_mysql=vhc_wordpress_$date_time.tar.bz2
#Шифруем архивы с помощью gpg
gpg -e -r Key $to_cat/$file_etc
gpg -e -r Key $to_cat/$file_vmail
gpg -e -r Key $to_cat/$file_html
gpg -e -r Key $to_cat/$file_mysql
rm $to_cat/*.tar.bz2
#Открываем сессию с FTP
ftp -n $ftpserver << EOF
user $ftpuser $password
binary
put $to_cat/$file_etc.gpg /dayly_bkp/$file_etc.gpg
put $to_cat/$file_vmail.gpg /dayly_bkp/$file_vmail.gpg
put $to_cat/$file_html.gpg /dayly_bkp/$file_html.gpg
put $to_cat/$file_mysql.gpg /dayly_bkp/$file_mysql.gpg
bye
EOF
date_time_end_ftp=`date +"%Y-%m-%d_%H-%M-%S"`
echo End FTP Copying $date_time_end_ftp >> /var/log/vhc_backup.log
Модернизируйте на свое усмотрение, у меня бекапит содержимое папки с сайтами, базу, бекаит пару системных каталогов, кладет их на сервер и сливает на фтп, в папке на сервере хранятся копии за 3 дня....
думаю если прикрутить сервисы синхронизации, то можно заливать и в облако удалив секцию с фтп. Шифрование на ваше усмотрение.
Готовых средств для такой совмещённой задачи ни в одном дистрибутиве нет.
Можно написать bash-скрипт, делающий следующее:Дамп либо через mysqldump (см. подводные камни с блокировкой таблиц), либо с xtrabackup (только для InnoDB), именующий его по дате.Другим инструментом (rclone, duplicity) синхронизировать его в нужное облако или на удалённый сервер (rsync, scp).