В этом видео я рассказываю о том как настроен backup на моём веб. сервере.
Как производится backup моего WordPress сайта – директории WordPress и MySQL DB.
Как производится перенос резервной копии с веб.сервера на сервера backup.
Вот скрипты которые я использую:
# on it-inside.org
:/home/backup-user$ cat homebackup_exclude.txt
/home/backup-user/backupfiles
/home/backup-user/backup_it-inside.org_WP+db.tar.gz
/home/backup-user
Файл backup_WordPress.sh
#!/bin/bash
# backup mysql db of WordPress site:
mysqldump -u root -pXXXXXXXXX wordpressDBname > /home/backup-user/backupfiles/wordpressDBname.sql
# backup wordpress site
rsync -az --delete --log-file=/home/backup-user/backupfiles/rsync_log /var/www/html/ /home/backup-user/backupfiles/htmlfolderbackup/
# backup /etc, for backuping all configuration of different services(apache2,networking,vsftpd and etc):
rsync -az --delete --log-file=/home/backup-user/backupfiles/rsync_etc_log /etc /home/backup-user/backupfiles/etcfolderbackup/
#backup /home
rsync -az --delete --exclude-from '/home/backup-user/homebackup_exclude.txt' --log-file=/home/backup-user/backupfiles/rsync_home_log /home /home/backup-user/backupfiles/homefolderbackup/
# tar + zip to transfer all data in one file:
tar -cpzf /home/backup-user/backup_it-inside.org_WP+db.tar.gz /home/backup-user/backupfiles/
# change ownershitp to backup-user, to allow backup-user backup my site from remote server, not work from root...
chown backup-user:backup-user /home/backup-user/backup_it-inside.org_WP+db.tar.gz
————————————–
# on it-inside.org
sudo crontab -e
# m h dom mon dow command
# backup WordPress site + WP db in MySQL:
0 3 * * 3,6 /home/backup-user/backup_WordPress.sh
—————————————————————————-
# on pi.
# написал скрипт для сбора данных с сервера и копирования на локальный диск. Плюс имя бекапа меняется для последующего хранения.
/home/backup-user
script.backup.it-inside.org.sh
#!/bin/bash
# setup variables
DOW=$(date +%F.%T)
#backup it-inside.org
scp backup-user@it-inside.org:/home/backup-user/backup_it-inside.org_WP+db.tar.gz /home/backup-user/it-inside_backups/${DOW}-it-inside.org_WP+db.tar.gz
————————————–
# Сгенерировал ключ для пользователя
ssh-keygen -t rsa
# Скопирол ключ на сервер:
ssh-copy-id -i ~/.ssh/id_rsa.pub backup-user@it-inside.org
————————————–
# От пользователя backup-user запускаем настройку cron:
crontab -e
# m h dom mon dow command
# backup it-inside.org WordPress site + WP db in MySQL:
30 3 * * 3,6 /home/backup-user/script.backup.it-inside.org.sh
————————————–
Ссылки и полезная информация:
Ссылки:
DigitalOcean Backups and Snapshots Explained
[VIDEO] IT-inside 09. 5 советов по повышению безопасности (ssh, iptables,phpmyadmin, wordpress).
Backing up with rsync & crontab.
How to Copy (Backup) a MySQL Database.
rsync man-page
Backup & Restore Whole System Ubuntu Crontab Rsync 3/8 – описание скрипта бэкапа.