1.1. 简单的 Shell 脚本
以下 shell 脚本使用 tar 在远程安装的 NFS 文件系统上创建存档文件。 存档文件名是使用其他命令行实用程序确定的。
#!/斌/庆典
####################################
#
#备份到NFS挂载脚本。
#
####################################
#备份什么
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# 备份到哪里。 dest="/mnt/备份"
# 创建存档文件名。 day=$(date +%A) hostname=$(hostname -s) archive_file="$hostname-$day.tgz"
#打印开始状态信息。
echo "将 $backup_files 备份到 $dest/$archive_file" 日期
回音
#使用tar备份文件。
tar czf $ dest / $ archive_file $ backup_files
# 打印结束状态消息。 回声
回显“备份完成”日期
# $dest 中的长文件列表以检查文件大小。 ls -lh $dest
• $备份文件: 列出您要备份的目录的变量。 应定制该列表以满足您的需要。
• $天: 保存星期几的变量(星期一、星期二、星期三等)。 这用于为一周中的每一天创建存档文件,提供 XNUMX 天的备份历史记录。 还有其他方法可以完成此操作,包括使用日期实用程序。
• $主机名: 变量包含 短 系统的主机名。 使用存档文件名中的主机名,您可以选择将来自多个系统的每日存档文件放在同一目录中。
• $归档文件: 完整的存档文件名。
• $dest:存档文件的目的地。 在执行备份脚本之前,需要创建并安装该目录。 请参见第 2 节,“网络文件系统 (NFS)” [p. 253]。 XNUMX] 有关使用 NFS 的详细信息。
• 状态消息: 使用 echo 实用程序打印到控制台的可选消息。
• tar czf $dest/$archive_file $backup_files: 用于创建存档文件的 tar 命令。
• c: 创建存档。
• z: 通过压缩存档的 gzip 实用程序过滤存档。
• f: 输出到存档文件。 否则 tar 输出将被发送到 STDOUT。
• ls -lh $dest: 可选语句打印一个 -l 长上市 -h 目标目录的人类可读格式。 这对于存档文件的快速文件大小检查很有用。 此检查不应取代测试存档文件。
这是一个简单的备份 shell 脚本示例; 然而,有许多选项可以包含在这样的脚本中。 请参见第 1.4 节“参考资料”[p. 327] 用于提供更深入的 shell 脚本信息的资源链接。