linux - logrotate - 备份任何文件

标签 linux server logrotate

我有一个文件。它不是日志文件。每天我都需要将其复制到其他地方,并在其名称中添加时间戳。我需要保留最后十 (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/

相关文章:

c++ - ARM Sprite -g++ : Command not found

linux - 如何在 Bash 中使用 ls 命令仅显示目录中的隐藏文件

linux - 使用 NVidia GPU 的屏幕 EGL 显示

linux - Grep 记录每秒发生的次数

linux - cron.hourly 不工作

logging - 在 Lighttpd 中按日期或文件大小拆分日志文件

post - Swift - 错误 : Socket SO_ERROR [61: Connection refused]

python - python中的套接字服务器拒绝连接

ios - 如何从 iOS 设备设置 HLS 实时视频流

tomcat - Logrotate 文件名中包含日期的文件