gpt4 book ai didi

linux - 每隔 6 点备份/etc/passwd 的 Shell 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:46 25 4
gpt4 key购买 nike

我如何创建一个 cronjob,每 6 点为/etc/passwd 创建一个备份。

这应该是输出:

passwd_<date>.tar.gz

我是 Shell 脚本的新手,正在尝试解决这个问题。我阅读了有关 cron 和 crontab 的信息,但是,我不知道如何使用 shell 脚本创建备份。有人可以帮助我吗。非常感谢示例。提前致谢。

最佳答案

可以crontab 条目一样简单:

0 18 * * * gzip </etc/passwd >/etc/passwd_$(date -I).gz

在能够写入 /etc 的人的权限下运行(如 root)。

每天晚上 6 点,这会使用 /etc/passwd 作为输入调用 gzip,并将输出发送到以下格式的文件:

/etc/passwd_YYYY-MM-DD.gz

如果您的 date 变体没有 -I ISO 输出标志,您可以使用稍微冗长的 date +\% Y-\%m-\%d,请记住 \% 转义仅在 crontab 文件中需要。

真正没有理由创建 tar.gz 文件,因为您只是将一个文件放在那里。

事实上,老实说,我怀疑是否需要压缩它,因为它不太可能很大。例如,我的密码文件从 2282 字节压缩到 873 字节,但即使是未压缩的大小,我也可以很高兴地满足数万年的备份值(value)——每个世纪大约 8300 万。

如果您愿意复制文件,您可以使用类似的东西:

0 18 * * * cp /etc/passwd /etc/passwd_$(date -I)

关于linux - 每隔 6 点备份/etc/passwd 的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com