Linux定时删除N天之前的文件及文件夹

新建脚本,删除指定目录下30天之前的所有文件

vim delete.sh
#删除文件夹
find /home/cs/file/ -type d -mtime +30 -exec rm -rf {} \;
#删除文件
find /home/cs/file/ -name "*.*" -mtime +30 -exec rm -rf {} \;

赋予sh文件执行权限chmod u+x delete.sh

执行delete.sh脚本
在这里插入图片描述
30天之前的文件及文件夹被删除
在这里插入图片描述
在这里插入图片描述

新建定时任务

crontab -e
30 23 * * 6 /home/cs/delete.sh(每周六的23:30分执行)

重启定时任务

/bin/systemctl restart crond.service
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用Linux中的crontab命令来定时删除文件夹。具体步骤如下: 1. 打开终端,输入命令 crontab -e 进入编辑模式。 2. 在编辑模式中,输入以下命令: ``` * * * rm -rf /path/to/folder ``` 其中, * * * 表示每的点分执行,/path/to/folder 表示要删除文件夹路径。 3. 保存并退出编辑模式。 这样,每的点分,系统就会自动删除指定的文件夹。 ### 回答2: 要定时删除Linux上的文件夹,可以使用cron工具。cron是一个常见的守护进程,用于定时运行作业。在Linux上,cron允许我们按照特定的时间安排任务。因此,可以使用cron工具设置定时任务来实现自动删除文件夹。 接下来,我们将步骤分解如下: 步骤 1:创建shell脚本 首先,创建一个名为delete_folder.sh的文件。在该文件中,输入以下命令: #!/bin/bash rm -rf /path/to/folder 其中,/path/to/folder是要删除的目录路径。该命令将在Linux系统上按指定路径开始删除目录。 步骤 2:将该shell脚本设置为可执行文件 现在,我们需要将delete_folder.sh文件设置为可执行文件。为此,可以运行以下命令: chmod +x /path/to/delete_folder.sh 这将给delete_folder.sh文件添加权限,使其可执行。 步骤 3:使用Cron进行定时删除 接下来,我们需要使用Cron设置定时任务来删除文件夹。要执行此操作,请在终端中输入以下命令: crontab -e 这将打开一个文本编辑器,其中可以定义计划任务和其他系统任务。 在Crontab中添加以下行: 0 0 * * * /path/to/delete_folder.sh 这将在每午夜(00:00)运行delete_folder.sh脚本,自动删除指定的目录。 完成后,保存并退出编辑器。 到此,我们就可以使用Cron定时删除Linux上的文件夹了。如果需要执行其他任务,可以在Crontab中添加更多任务。以下是一些基本的Crontab语法: * * * * * command - - - - - | | | | | | | | | ----- Day of the Week(0 - 7) (Sunday = 0 or 7) | | | ------- Month (1 - 12) | | --------- Day of the Month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59) 通过使用上述基本语法,结合脚本和权限设置,可以轻松定时删除任何Linux上的文件夹。 ### 回答3: Linux系统中,我们经常需要定时删除一些不再需要的文件文件夹。为了实现这一功能,我们可以使用cron定时任务和一些命令行工具,如rm和rmdir。 首先,我们需要了解cron的基本知识。cron是一个可以在Linux系统上周期性运行的后台服务,可以执行一些特定的任务,如备份、清理文件等。我们可以使用crontab命令来管理cron任务,并设置这些任务的执行时间和顺序。 要定时删除一个文件夹,我们需要使用rm和rmdir命令。rm命令用于删除文件,而rmdir命令用于删除文件夹。如果要删除一个非空的文件夹,我们需要使用rm命令的-r或者-R选项,这样就可以递归删除整个文件夹了。 接下来,我们需要将这些命令包装在一个可执行的脚本中。我们可以使用shebang行来指定脚本的解释器,然后在脚本中设置要删除的目录和时间。以下是一个示例脚本: ``` #!/bin/bash # 声明要删除的目录 DIR=/home/user/oldfiles # 删除目录及其下所有文件 rm -rf $DIR/* # 删除空目录 rmdir $DIR ``` 为了定时执行这个脚本,我们需要使用crontab来设置一个cron任务。我们可以使用以下命令来编辑一个新的cron任务: ``` crontab -e ``` 然后我们需要在crontab文件中添加一行,以实现每隔一段时间执行一次脚本。例如,如果我们想每凌晨2点删除文件夹,我们可以这样设置: ``` 0 2 * * * /home/user/delete_old_files.sh ``` 这样,脚本就会在每凌晨2点自动运行,删除指定目录下的所有文件文件夹。 总之,定时删除文件夹的主要步骤是:编写可以删除指定目录的shell脚本,将该脚本与crontab合作,设置cron任务来定期执行该脚本。这个过程需要一些命令行和Linux系统知识,但一旦设置好,就可以轻松自动完成文件夹清理工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仅此而已gzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值