使用 shell 脚本删除 30 天以上的旧文件

使用 shell 脚本删除 30 天以上的旧文件

因此我必须对旧备份进行一些管理,并在 sh 上运行以下代码:

find /home/backups -mtime +30 -type f -exec rm -rf {} \; 

由于知道位置/路径,所以这可以正常工作,因此如果另一台机器上的路径不同,我该如何修改命令以在所有机器上运行?

如果我使用下面的命令,它将删除所有 30 天前的文件,但我只想清理这些唯一的备份文件集:

find . -mtime +3 -exec rm {} ';' 

谢谢

答案1

我不知道你将如何执行该命令全部是自动通过 ssh 进行 SSH 吗?还是手动进行?

无论如何,如果您想节省输入路径的精力,您可以考虑在每台机器上创建一个具有相同名称的变量,例如 BACKUP_DIR,它会保存您执行清理工作所需的路径。

然后,在您的 find 命令中,不要硬编码任何路径,而是使用变量。

如果您通过 ssh 自动执行此操作,那么您在建立连接时就知道路径。然后只需在查找中添加路径即可。

相关内容