![cron / crontab :仅当磁盘空间接近容量时,才会在备份新文件时自动删除最旧的备份文件](https://linux22.com/image/783685/cron%20%2F%20crontab%20%EF%BC%9A%E4%BB%85%E5%BD%93%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E6%8E%A5%E8%BF%91%E5%AE%B9%E9%87%8F%E6%97%B6%EF%BC%8C%E6%89%8D%E4%BC%9A%E5%9C%A8%E5%A4%87%E4%BB%BD%E6%96%B0%E6%96%87%E4%BB%B6%E6%97%B6%E8%87%AA%E5%8A%A8%E5%88%A0%E9%99%A4%E6%9C%80%E6%97%A7%E7%9A%84%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6.png)
我正在使用 crontab(在 Ubuntu Server 20.04 上)自动创建文本文件的每日备份并将其存储在外部硬盘上。我使用以下 crontab 来创建备份:
@daily cp ~/myfile.txt /mnt/usb/backups/$(date +\%Y\-\%m\-\%d)_myfile.txt
这实际上会在我的外部硬盘上创建一个每日备份文件,文件名前面带有创建的日期和时间(年/月/日)。例如/mnt/usb/backups/2023-02-01_myfile.txt
等等/mnt/usb/backups/2023-02-02_myfile.txt
。
问题是硬盘最终会填满。因此,我想要做的是每次在 crontabcp
中运行备份命令时自动删除备份映像文件的最旧版本(但仅在外部硬盘空间不足时删除)。当磁盘空间接近满容量时,通过删除备份文件的最旧版本,可以防止外部驱动器填满。
有人知道我该怎么做吗?