我有一个文件。它不是日志文件。每天我都需要将其复制到其他地方,并在其名称中添加时间戳。我需要保留最后十 (10) 天的副本。 我正在考虑使用 logrotate 服务(服务器运行 CentOS)。
我的问题是 logrotate 是否有一些限制只能轮换日志文件,或者我是否可以使用任何其他文件和位置。也就是说,我可以指定其他位置来放置带有时间戳的副本并仅保存最后 10(天)副本吗?
预先感谢您的提示。
最佳答案
您可以旋转任何位置的任何文件,例如看一下/etc/logrotate.d/samba
(如果已安装),它会轮换log.smbd
。只需在 /etc/logrotate.d/
中创建一个新文件并配置要轮换的文件。一个很好的描述是 here对于 centOS 来说没有不同( here )。
问题出在名称中的时间戳。如果你想要这个,它就不再旋转。使用logrotate
,最新的存档文件始终是编号1,因此所有较旧的文件都会被重命名。但它们保存在文件系统中的上次修改时间保持不变。但这次不在名称中。
作为替代方案,您可以通过在 \etc\cron.*\
目录之一中添加文件来创建新的 cron
作业。这个 cron 作业可以移动您的文件并添加时间戳,例如使用 date +%y%m%d_%H:%M
并使用 touch
创建一个新文件。不需要logrotate
。
关于linux - logrotate - 备份任何文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34784708/