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