WordPressのプラグインでのバックアップが正常に動作しなくなったら
WordPressプラグインのバックアップはphp動作の為、タイムアウトがあったり、サイトが大きくなると使いにくくなる。
そこでsshから直接バックアップするシェルスクリプトを作成する。
パスなどは自由に変更して設置。
https://github.com/andreafabrizi/Dropbox-Uploader
からスクリプトをDL。
/root/dropbox_uploader.sh
に配置。
ここからrootで実行。
chmod +x /root/dropbox_uploader.sh ./dropbox_uploader.sh
参考:
https://github.com/andreafabrizi/Dropbox-Uploader
https://www.dropbox.com/developers/apps
にアクセスして、access tokenを取得する。
参考:
https://auxin01.wordpress.com/2016/08/22/raspberry-pi_raspbian_dropbox-uploader2016/
下記ファイル名で、/var/www/ に保存する
db-backup.sh
#!/bin/bash _file="backup.sql.gz" cd /root/ mysqldump --user=root --password=********* --host=localhost --events --all-databases | gzip >$_file ./dropbox_uploader.sh -q upload $_file "/$HOSTNAME/backup/$_file" #rm $_file
*********はmysqlのrootパスワード。
web-backup.sh
#!/bin/bash tar cvf /root/backup.tar /var/www/html/ /root/dropbox_uploader.sh upload /root/backup.tar /$HOSTNAME/backup/backup_html.tar
※バックアップするフォルダは /var/www/html/ 箇所
権限を追加する。
chmod +x /var/www/db-backup.sh chmod +x /var/www/web-backup.sh
実際に動作するか確かめる。
/var/www/db-backup.sh /var/www/web-backup.sh
CRONの実行例。
0 8 * * * /var/www/db-backup.sh 0 9 1,11,21 * * /var/www/web-backup.sh