linux crontab 定时 删除文件夹下文件

       想要在linux下定时删除某个文件夹下的临时文件,在网上找了找,总结了一下:

  1. 删除文件的shell    

    direc 是删除文件的文件夹   ,记得将此文件的权限改一下 chmod +x filename.sh

#!/bin/bash

direc="/opt/tmp/aaa/a"

for dir2del in $direc/* ; do
    if [ -f "$dir2del" ]; then
        rm -rf $dir2del
    fi
    done

 2.crontab 执行任务调度

   命令:[root@operation aaa]# crontab -e

   编辑调度任务:

   26 11 18 12 * /opt/tmp/aaa/filename.sh

   以上命令是在12月18日11点26分执行filename.sh包含的任务

  小PS:

删除 crontab -r

 crontab task 格式

  * * * * * task
  分 时 日 月 周 task

  第1列 分钟1~5 9  (0表示0分)
  第2列 小时1~2 3(0表示子夜)
  第3列 日1~3 1    
  第4列 月1~1 2   
  第5列 星期0~6(0表示星期天)
  第6列 要运行的命令

 

参考:http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html

http://www.oschina.net/code/snippet_222150_8034

http://www.th7.cn/system/lin/201308/42913.shtml

http://blog.chinaunix.net/uid-7530389-id-2050029.html

 

转载一篇:Linux下设置任意用户的Crontab定时任务

http://www.cnblogs.com/zemliu/archive/2012/08/03/2622162.html

最近需要在服务器上部署定时任务,拿到了sudo密码,下面说下布置某用户定时任务的方法

 

主要是用crontab命令来实现

1.指定用户的crontab文件 

sudo touch /var/spool/cron/testuser

crontab -u testuser /var/spool/cron/testuser

2.编辑crontab文件

首先指定编辑器,我这之前默认是用nano,表示不会用,改为了vim

sudo select-editor

然后加入定时任务

crontab -e

在文件中加入 0 23 * * * bash /home/testuser/test.sh

请注意,这里一定要有权限执行该脚本,并且该脚本里的命令都要有权限执行才可以,否则crontab任务会失效

btw,如果是crontab要执行java程序,需要自己在脚本中将java的环境变量加进去,就像下面这样

#此处引入环境变量,java路径请自行修改
source /etc/profile
JAVA_HOME="/usr/lib/jvm/java-6-openjdk-amd64"
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME PATH

具体的JAVA目录则根据自己的java路径改好就好

 

3.重启cron服务

sudo service cron restart

### 回答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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值