結局、仮想マシンへのリストアは断念したが、実機へのリストアは初号機も弐号機も出来たので、ひとまずmondo rescueはそのまま採用ということにして、今度はバックアップジョブをcronで定期実行させてみる。
で、mondo rescueのコマンドは sudo で実行していたんだが、こいつを cron に登録したら、実行ユーザーはどうなる?普段 sudo 経由で実行してるコマンドを cron で叩くのはどうやる?
ということで、少し調べていたら、下記のような情報を発見。
「cron で sudo が必要なコマンドを実行したい」と思っているということは、あなたのアカウントは sudoer な訳です。つまり、コマンドラインで直接 sudo を実行することはできますね。ということは、
# sudo su
で root になれます。通常は。
参考:https://freefielder.jp/blog/2018/07/ubuntu-cron-sudo.html
・・・この発想はなかった。流石に root で作業せにゃいかんかと思ってたが。
セキュリティー的にどうなのよとも思うが、まあ、SSHログインも鍵認証化してるし、いいか。
1.バックアップ用のシェルスクリプトを作って、crontabに登録
# mkdir /root/cronjob && cd cronjob # vi backup.sh ---- #!/bin/bash /sbin/mondoarchive -Oi -L -N -s 4480m -d /backup -9 -S /var/mondo/scratch -T /var/mondo/tmp -E '/tmp|/exdata' -p `hostname`_`date +%Y%m%d` ---- # chmod 700 backup.sh # crontab -e ---- 0 0 * * * /root/cronjob/backup.sh >> /root/cronjob/backup.log 2>&1 # とりあえず、毎日0:00にバックアップ取るように設定。 ----
これで、あくる日に見るとちゃんとバックアップ取れてるのが確認できた。
あとは、実行間隔を調整して運用していく。