⑴ 如何操作linux 定时删除指定目下N天前的文件
* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \;表示每天早上六点删除/root/home/zhang目录下一天前创建的所有文件专,不删除文件夹属zhang,如果这个文件夹也要删除的话用 * 6 * * * find /root/home/zhang ctime 1 -exec rm -rf {} \;* 6 * * * 第一个*号表示时间中的 分钟 取值范围:0-59第二个*号表示时间中的 小时 取值范围:0-23第三个*号表示一个月中的第几天,取值范围:1-31第四个*号表示一年中的第几个月,取值范围:1-12第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天ctime 表示创建时间,1 表示一天前,其实Linux中不存在文件创建时间,只有访问时间(atime)、修改时间(mtime)、状态改动时间(ctime) 可以通过命令 stat + 文件路径 查看时间也可通过命令 touch -t 201212212359 aa (建立文件aa,时间是2012年12月21日23时59分)修改时间
⑵ linux 下如何编写定时删除某目录下文件的脚本
自己编写crontab设定计划任务就是了, 那个服务就是做这些定时的,自动化的工作用的。要写什么脚本的,一个命令搞定。给你个手册页自己看吧。补充回答:运行这个命令:crontab -e此命令将打开一个文本编辑器以添加新任务。* 20 * * * rm -rf /root/febhost/dat/* /root/febhost/log/*用对应的文本编辑器命令保存退出(vi编辑器是按esc后打:wq)如果你对这种方式不熟悉,也可以直接改/etc/crontab,我看到你是要删除root文件夹内的目录,假设你有root权限(因为/etc/crontab所有者是root,并且只有以root身份执行删除命令才能删除root home内的文件),用以下命令打开此文件:vi /etc/crontab将光标移动至最后一行,按o键新开一行输入以下内容:* 20 * * * root rm -rf /root/febhost/dat/* /root/febhost/log/*给你解释下此行的含义吧,前五个以4个空格分隔开的值依次表示:分、时、日、月、周,如果取所有值就是打*号,如果你想周期性的运行一个任务,crontab也接受范围指定,比如说一天中的早8点到晚6点每隔一小时(就是每两小时,将会在8,10,12,14,16,18执行)执行你这个删除命令这样写:* 8-18/2 * * * root rm -rf /root/febhost/dat/* /root/febhost/log/*第一个字段是分钟,取值范围:0-59第二个字段是小时。取值范围:0-23第三个字段是一个月中的第几天,取值范围:1-31第四个字段是一年中的第几个月,取值范围:1-12最后一个字段是一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天。下一个字段是执行该命令的用户身份,这里是root用户,最后一个字段就是定时运行的命令。
⑶ 如何定时删除linux服务器文件
肯定是用脚本命令去删除了,比如crontab自动执行,或者用脚本触发方法很多,你可以有针对性的,如rm -rf
⑷ LINUX定期删除文件的命令是什么
cron 具体可见:http://teczm.blogchina.com/3325930.html
⑸ linux 定时删除n天前的文件crontab
先算数量,判断后再删 filenum=`find . -name "log.*" -mtime +10 | wc -l`if [ $filenum -gt 10 ] ; thenfilenum=`find . -name "log.*" -mtime +10 -exec rm -f {} \;fi
⑹ linux crontab 定时 清除 文件和目录
00 22 * * * /usr/bin/find /backupmongo/ -mtime +7 -exec rm -rf {} \;
⑺ linux按指定时间删除文件和文件夹
find 命令可以完成这一需求,比如删除3天前的所有以“.log”结尾的文件:
find /文件路径 -name "*.log" -mtime +2 -exec rm {} ;
说明专:
1. 文件路径是目标文件所属在路径;
2. -name 设定目标文件名,建议采用,否则可能误删其他文件;
3. -ctime 文件最后一次修改时间,后面只能用整数,单位为天,同时,还有atime,mtime,amin,cmin,mmin等时间参数可选,具体请查看帮助;
4. 时间说明如下图(随手画的,大概是这个意思),所以删除三天前的文件要用+2
5. -exec 表示需要执行的命令,{}代表find找到的内容,";"是固定写法表示结束-exec,
所以例子的"-exec rm {} ;" 就表示对find找到的符合条件的文件执行删除操作
⑻ Linux 定时删除文件夹或文件
给你个思路,不懂问我,如果想要我帮你写出来,你可以加点分啊查找半年的文件可以用find命令find的-mtime按更改时间find.-mtime-5-print-表示在5天之内更改过的find.-mtime+5-print+表示在5天之前更改过的每周日删除可以用到cronta(具体使用方法请网络)无法是每个周日脚本运行一次,cd到指定文件夹,利用find命令找到对应的文件删除就ok了
⑼ linux 下如何编写定时删除某目录下文件的脚本
自己编写crontab设定计划任务就是了,那个服务就是做这些定时的,自动化的工作用的。要写什么脚本的,一个命令搞定。给你个手册页自己看吧。补充回答:运行这个命令:crontab-e此命令将打开一个文本编辑器以添加新任务。*20***rm-rf/root/febhost/dat/*/root/febhost/log/*用对应的文本编辑器命令保存退出(vi编辑器是按esc后打:wq)如果你对这种方式不熟悉,也可以直接改/etc/crontab,我看到你是要删除root文件夹内的目录,假设你有root权限(因为/etc/crontab所有者是root,并且只有以root身份执行删除命令才能删除roothome内的文件),用以下命令打开此文件:vi/etc/crontab将光标移动至最后一行,按o键新开一行输入以下内容:*20***rootrm-rf/root/febhost/dat/*/root/febhost/log/*给你解释下此行的含义吧,前五个以4个空格分隔开的值依次表示:分、时、日、月、周,如果取所有值就是打*号,如果你想周期性的运行一个任务,crontab也接受范围指定,比如说一天中的早8点到晚6点每隔一小时(就是每两小时,将会在8,10,12,14,16,18执行)执行你这个删除命令这样写:*8-18/2***rootrm-rf/root/febhost/dat/*/root/febhost/log/*第一个字段是分钟,取值范围:0-59第二个字段是小时。取值范围:0-23第三个字段是一个月中的第几天,取值范围:1-31第四个字段是一年中的第几个月,取值范围:1-12最后一个字段是一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天。下一个字段是执行该命令的用户身份,这里是root用户,最后一个字段就是定时运行的命令。
⑽ linux 定期删除文件夹下面超过30日的文件
1.删除文件命令:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;实例命令:find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;说明:将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:find:linux的查找命令,用户查找指定条件的文件;/opt/soft/log/:想要进行清理的任意目录;-mtime:标准语句写法;+30:查找30天前的文件,这里用数字代表天数;"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;-exec:固定写法;rm -rf:强制删除文件,包括目录;{} \; :固定写法,一对大括号+空格+\+; 2.计划任务:若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。2.1创建shell:touch /opt/soft/bin/auto-del-30-days-ago-log.shchmod +x auto-del-30-days-ago-log.sh新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限2.2编辑shell脚本:vi auto-del-30-days-ago-log.sh编辑auto-del-30-days-ago-log.sh文件如下:#!/bin/shfind /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;ok,保存退出(:wq)。2.3计划任务:#crontab -e将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行输入:10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1这里的设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务了。
未经允许不得转载:山九号 » linux定时删除文件|linux按指定时间删除文件和文件夹