この記事の目次
スクリプトの自動実行
前項ではpostgresのユーザー権限によるDBの自動バックアップをご説明しました。今度はroot(管理者)権限によるディレクトリの定期バックアップ実行の手順をご説明します。
rootのcron設定は/etc/crontabの内容を編集することにより行います。
ただし、TurboLinux7serverにはインストール時点で時間、日、週ごとにスクリプトの実行ができるよう/etc/crontabが編集されています。また、実行スクリプトを入れておくディレクトリもあらかじめ用意されています。
/etc以下に/cron.hourly、/cron.daily、/cron.weekly、/cron.monthlyの4つのスクリプトファイルの置き場所が用意されています。このディレクトリにスクリプトファイルを入れておくとそれぞれ時間、日、週、月ごとにスクリプトが自動実行されます。
今回はこのディレクトリの中にスクリプトファイルを作成し、自動実行させるための設定をしていきましょう。
/homeの自動バックアップ
ユーザーが自分のファイルを保存したり、Webにhtmlやcgiを公開するために使用する場所が/home以下のユーザー名のディレクトリです。システムはまた再構築すれば同一の環境が得られますが、失ってしまったユーザーが作成したファイルは2度と戻りません。
ですので、この/homeディレクトリを丸ごと圧縮してひとつのファイルにしてバックアップを取ることにします。なお、バックアップ先として/backupを、backup管理者としてbackupユーザーをあらかじめ作成しておき、/backupの所有者をbackupに変更しておきます。
・[/etc/cron.daily/backup.sh]の作成
以下の内容でスクリプトファイルを作成します。
#!/bin/sh
backupname=’home.’`date +’%Y%m%d’`’.tar.gz’
tar cvfz /backup/$backupname /home/
最後に、作成したスクリプトファイルのパーミッションを755に変更して終了です。
※世代管理しない場合は$backupnameの代わりに任意のファイル名でも可。
tarファイル(バックアップ)からのファイル復旧
バックアップしたディレクトリの1階層上にバックアップファイルをコピーして下記のコマンドを実行します。
#tar xvfz (バックアップファイル名)
サーバーの時刻同期
サーバーの内部時計の時刻を正確に保つため、タイムサーバーとの同期を定期的に実行します。
一般的にはインターネット上に提供されているタイムサーバーなどに時刻を合わせますが、イントラネット内のサーバー構築の場合は通常内部用タイムサーバーが用意されていますのでそちらと同期をとるようにします。
・[/etc/cron.daily/settime.sh]の作成
以下の内容でスクリプトファイルを作成します。
#!/bin/sh
/usr/bin/ntpdate [タイムサーバーのIPもしくはドメイン]
最後に、作成したスクリプトファイルのパーミッションを755に変更して終了です。
コメント