[Memo2018][ITPASS]サーバ交換事作業 1 週間後に行う作業
本サーバ(itpass)から予備サーバ(itassbk)へのバックアップ設定
itpass 側での公開鍵作成
バックアップのための公開鍵を作成した.
itpass$ sudo -s -H itpass# cd /root itpass# ssh-keygen -t rsa -b 4096
itpassbk 側の鍵の設置
itpass で作成した公開鍵 itpass:/root/.ssh/id_dsa.pub を itpassbk:/root/.ssh/authorized_keys の最後尾に追記した.
itpassbk: # cat ./id_rsa.pub >> /root/.ssh/authorized_keys
更にパーミッションを変更した.
itpassbk: # chmod 600 /root/.ssh/authorized_keys
authorized_keys の編集
command="rsync --server -vvvlogDtpre.iLsfxC --delete . /home/",no-pty, from="133.30.109.22",no-port-forwarding,no-X11-forwarding,no-agent-forwarding
これをauthorized_keys 内の itpassbk の公開鍵の行の冒頭に加えた.
itpassbk 側の通信許可
最近の OpenSSH では, デフォルトでは root のログインを許可しないため, 設定を変更. /etc/ssh/sshd_config の
PermitRootLogin no
という部分を
PermitRootLogin forced-commands-only
に変更したのち,
itpassbk# /etc/init.d/ssh restart
として設定を反映させた.
itpass 側でのデータ転送用スクリプトの設置
バックアップスクリプトを置くディレクトリの確認
オリジナルの cron 用スクリプトは /etc/cron.local/daily に置く.
バックアップ用スクリプトの用意
rsync_itpassbk.sh をダウンロード. これを /etc/cron.local/daily/230_rsync_itpassbk に設置.
# wget http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2016/system_backup/rsync_itpassbk.sh # mv rsync_itpassbk.sh /etc/cron.local/daily/230_rsync_itpassbk
/etc/cron.local/daily/230_rsync_itpassbk に実行権限を設定した.
# chmod 755 /etc/cron.local/daily/230_rsync_itpassbk
hiki データバックアップスクリプトの設置
rsync_localbk_hiki.sh を /etc/cron.local/weekly/210_rsync_localbk_hiki に設置.
# wget http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2016/system_backup/rsync_localbk_hiki.sh # mv rsync_localbk_hiki.sh /etc/cron.local/weekly/210_rsync_localbk_hiki
/etc/cron.local/weekly/210_rsync_localbk_hiki に実行権限を設定.
# chmod 755 /etc/cron.local/weekly/210_rsync_localbk_hiki
crontab の編集
/etc/crontab を編集する. 以下の 2 行があることを確認.
25 6 * * * root cd / && run-parts --report /etc/cron.local/daily 47 6 * * 7 root cd / && run-parts --report /etc/cron.local/weekly
バックアップログファイルの作成
ログファイルのためのディレクトリとファイルを作成.
# mkdir /var/log/rsync-log # touch /var/log/rsync-log/itpassbk.log # touch /var/log/rsync-log/localbk_hiki.log
バックアップログファイルの logrotate の設定
データ転送の際の rsync のログを 1 週間毎に分割. /etc/logrotate.d/ 以下に rsync_itpassbk という設定ファイルを作成.
# vi /etc/logrotate.d/rsync_itpassbk
以下の内容を書き込んだ.
/var/log/rsync-log/itpassbk.log { weekly create 0644 root root rotate 12 }
/etc/logrotate.d/ 以下に rsync_localbk_hiki という設定ファイルを作成.
# vi /etc/logrotate.d/rsync_localbk_hiki
以下の内容を書き込んだ.
/var/log/rsync-log/localbk_hiki.log { monthly create 0644 root root rotate 12 }
itpassbk のローカルバックアップの停止
210_rsync_localbk_hiki, 220_rsync_localbk_root, 225_rsync_localbk_home の実行権限を外した.
# cd /etc/cron.local # chmod a-x weekly/210_rsync_localbk_hiki daily/220_rsync_localbk_root daily/225_rsync_localbk_home
スクリプトの動作確認
ホスト鍵の追加
itpass 側に itpassbk のホスト鍵を追加.
itpsass: # ssh [itpassbkのホスト名] PTY allocation request failed on channel 0
- スクリプトの動作確認
/etc/crontab の時刻を変更して正しくバックアップスクリプトが実行されているか確認した. 確認後はもとに戻した.
/etc/hosts に書かれている IP アドレスとホスト名の対応が正しいかどうか確認.
参考資料
不要なファイルの削除
運用開始から 1 週間をめどに, 参考のために old からコピーしたファイル類を削除.
Keyword(s):
References:[[ITPASS2018]2018年度サーバ構築ログ]