linux - 清理ubuntu服务器上的备份文件

标签 linux bash shell ubuntu

我们有一个运行两个程序的 RHEL Linux 服务器,它们的备份被复制到另一个运行 Ubuntu Linux 的服务器上。在 cron 作业中运行一个“清理”脚本,该脚本应该删除这些超过十天的备份,但它不起作用。事实上,即使手动运行它,我也无法让它工作。脚本如下-

#!/bin/bash
# bash shell script to cleanup jira backup files
# The script will remove files that are 10 days or older 
#
# Remove jira backup files
for FILE in `find /usr/backup/jira -mtime +10`
do echo $FILE
/bin/rm -f $FILE 2>/dev/null
done

当我在命令提示符下运行此脚本时 - ./cleanup_jira.sh 没有任何反应;我只是向下移动到命令提示符。我有 root 拥有所有涉及的文件夹和文件。这是几年前由不同用户运行的所有设置,但显然已经有一段时间没有工作了,所以我将其全部修改为以 root 身份运行。当我尝试运行它时,我也没有收到发给 root 的邮件消息。

任何想法请回复。

谢谢你的时间,

约翰·埃利斯

最佳答案

不需要 for 循环:

find /usr/backup/jira -type f -mtime +10 -exec rm {} \;

如果这不起作用,请查看指定目录中是否存在超过 10 天的文件。

关于linux - 清理ubuntu服务器上的备份文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21862962/

相关文章:

regex - 使用正则表达式通过/usr/bin/rename 重命名多个文件

linux - xterm 不运行 shell 脚本

linux - BASH_VERSION 为空,即使 SHELL 是/bin/bash

php - 使用 Xampp 和 Ubuntu 安装 Drupal 时出现问题

linux - 使用 linux 命令从文件中提取最后一部分数据

regex - [[ $string = *[!0-9]* ]] 在 bash 中是什么意思?

linux - 如何检查文件是否在 Linux 中打开和/或正在编辑

linux - 解释多线程程序上的时间命令输出

c - 使用 block 特殊文件/设备来实现文件系统

shell - UNIX shell 脚本中的 "#!/bin/sh"行是什么意思?