さくらインターネットで、cronを使ってmysqlを定時バックアップ。
OpenPNEの公式SNSで教えていただいたので、さくらのレンタルサーバで使えるように少しだけカスタマイズをした。(教えてくださった方、ありがとうございました)
拡張子を .sh にしたファイル名で以下を任意の場所におき、cronファイルに登録する際、夜中や明け方の時間を指定しておく。.shファイルは権限を705にしておく。
——————–
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
bak=`date +%Y_%m_%d_%H`
mysqldump — host=(ホスト名) — user=(ユーザ名) — password=(パスワード) データベース名 > /home/(ユーザ名)/(任意の階層)/$bak.sql
chmod 644 /home/(ユーザ名)/(任意の階層)/$bak.sql
bak2=`date “-v-3d” +%Y_%m_%d_%H`
rm -f /home/(ユーザ名)/(任意の階層)/$bak2.sql
——————–
(注:hostなどの前にある — は、ごく普通のハイフンが2個連続だが、このブログの画面上で、そう見えるとは限らないので注意が必要)
cronを毎回同じ時間に設定しておけば、3日後のバックアップの際に古いものを消してくれる。いちおう、サーバの混雑などで1時間遅れなどが(もし)あれば、たまに確認して手動で消すとよいかも。
=====
2021年4月15日現在、上記の方法で不具合が生じているらしく、運用をいったん止めた。
これはデータベースのバージョンが上がったことなど、何らかの複合的な要因と思われる。