1.1. 単純なシェルスクリプト
次のシェル スクリプトは、tar を使用して、リモートにマウントされた NFS ファイル システム上にアーカイブ ファイルを作成します。 アーカイブ ファイル名は、追加のコマンド ライン ユーティリティを使用して決定されます。
#!/ bin / bashに
####################
#
# NFS マウント スクリプトへのバックアップ。
#
####################
# 何をバックアップするか。
バックアップファイル = "/home /var/spool/mail /etc /root /boot /opt"
# バックアップ先。 dest="/mnt/backup"
# アーカイブファイル名を作成します。 day=$(date +%A) hostname=$(hostname -s) archive_file="$hostname-$day.tgz"
# 開始ステータスメッセージを印刷します。
echo "$backup_files を $dest/$archive_file にバックアップしています" 日付
echo
# tar を使用してファイルをバックアップします。
tar czf $dest/$archive_file $backup_files
# 終了ステータスメッセージを印刷します。 エコー
「バックアップ完了」の日付をエコーする
# ファイル サイズを確認するための $dest 内のファイルの長いリスト。 ls -lh $dest
• $backup_files: バックアップするディレクトリをリストする変数。 リストはニーズに合わせてカスタマイズする必要があります。
• $day: 曜日 (月曜日、火曜日、水曜日など) を保持する変数。 これは、曜日ごとにアーカイブ ファイルを作成するために使用され、XNUMX 日間のバックアップ履歴が得られます。 これを実現するには、日付ユーティリティを使用するなど、他の方法もあります。
• $ホスト名: を含む変数 短い システムのホスト名。 アーカイブ ファイル名にホスト名を使用すると、複数のシステムから毎日のアーカイブ ファイルを同じディレクトリに配置するオプションが提供されます。
• $アーカイブファイル: 完全なアーカイブ ファイル名。
• $dest: アーカイブ ファイルの宛先。 ディレクトリを作成し、この場合はバックアップ スクリプトを実行する前にマウントする必要があります。 セクション 2. 「ネットワーク ファイル システム (NFS)」 『p. 253』を参照してください。 NFS の使用方法の詳細については、XNUMX] を参照してください。
• ステータスメッセージ: エコー ユーティリティを使用してコンソールに出力されるオプションのメッセージ。
• tar czf $dest/$archive_file $backup_files: アーカイブ ファイルの作成に使用される tar コマンド。
• c: アーカイブを作成します。
• z: gzip ユーティリティを使用してアーカイブを圧縮し、アーカイブをフィルタリングします。
• f: アーカイブファイルに出力します。 それ以外の場合、tar 出力は STDOUT に送信されます。
• ls -lh $dest: オプションのステートメントは、 -l の長いリスト -h 宛先ディレクトリの人が判読できる形式。 これは、アーカイブ ファイルのファイル サイズを簡単にチェックするのに役立ちます。 このチェックは、アーカイブ ファイルのテストに代わるものではありません。
これはバックアップ シェル スクリプトの簡単な例です。 ただし、このようなスクリプトには多くのオプションを含めることができます。 セクション 1.4「参考情報」 [p.327] を参照してください。 XNUMX] には、より詳細なシェル スクリプト情報を提供するリソースへのリンクがあります。