人として、VPSの外にバックアップを取りたかったので取った。
別にどこにとっても良かったのだけれど、なんとなくGoogleDriveにした。
ぐぐったらLinuxで便利に使えるクライアントが出てきた。
インストールと認証は済ませておく。
バックアップ用のディレクトリを作る。
# gdrive upload --recursive /home/kusanagi/bkup/
Creating directory bkup
作ったディレクトリのIDを確認する。
# gdrive list Id Name Type Size Created idstring bkup dir 2016-12-21 hh:mm:ss . . .
適当にバックアップして同期アップロードする。
#!/bin/bash gdriveid="idstring" bkversion=`date +%u` bkdir="/home/kusanagi/bkup/" wpdir="/home/kusanagi/hoge_html" sitebkfile="${bkdir}wp-${bkversion}.tar.gz" dbbkfile="${bkdir}db-${bkversion}.sql.gz" rm $sitebkfile rm $dbbkfile mkdir -p $bkdir tar czf $sitebkfile $wpdir mysqldump -u root -ppassword dbname | gzip -c > $dbbkfile /usr/local/bin/gdrive-linux-x64 sync upload $bkdir $gdriveid
CRON仕込む。
# crontab -l 07 03 08 */2 * /usr/bin/kusanagi update cert hoge_html 30 04 * * * /root/script/backup.sh # ls /root/script/backup.sh /root/script/backup.sh
ちゃんと動いているかは数日後に確認する。
眠いので寝る。
なお、もっといい参考ページがたくさんあります。
http://www.yoshihiro.asia/archives/172www.yoshihiro.asia
こけてた
2016/12/23追記。
CRONはうごいていて、バックアップはされていたけれど、GoogleDriveに同期されていなかった。 (Dec 23 19:48 は手でスクリプト実行した分) ツールが資格情報見失ってるとかかな。
# ls -l /home/kusanagi/bkup/ total 63972 -rw-r--r-- 1 root root 107650 Dec 21 04:30 db-3.sql.gz -rw-r--r-- 1 root root 115290 Dec 22 04:30 db-4.sql.gz -rw-r--r-- 1 root root 117770 Dec 23 19:48 db-5.sql.gz -rw-r--r-- 1 root root 21700719 Dec 21 04:30 wp-3.tar.gz -rw-r--r-- 1 root root 21717966 Dec 22 04:30 wp-4.tar.gz -rw-r--r-- 1 root root 21732399 Dec 23 19:48 wp-5.tar.gz
多分これかな?
フルパスにしてまた様子を見よう。
2016/12/24 追記。
フルパスにしたらOKだった。 (コードスニペット修正済)
CRONでスクリプトを実行した際に、gdriveのファイル名だけ指定して実行していたところ、パスが通っていなかったようだった。 フルパスで実行ファイルを指定したところ問題なく完了した。