当前位置:首页 » 操作系统 » linux定时删除

linux定时删除

发布时间: 2022-11-29 02:58:10

linux是否会定期删除文件夹下面超过30日的文件

1.删除文件命令:x0dx0afind 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;x0dx0a实例命令:x0dx0afind /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;x0dx0a说明:x0dx0a将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:x0dx0afind:linux的查找命令,用户查找指定条件的文件;x0dx0a/opt/soft/log/:想要进行清理的任意目录;x0dx0a-mtime:标准语句写法;x0dx0a+30:查找30天前的文件,这里用数字代表天数;x0dx0a"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;x0dx0a-exec:固定写法;x0dx0arm -rf:强制删除文件,包括目录;x0dx0a{} \; :固定写法,一对大括号+空格+\+; x0dx0ax0dx0a2.计划任务:x0dx0a若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。x0dx0ax0dx0a2.1创建shell:x0dx0atouch /opt/soft/bin/auto-del-30-days-ago-log.shx0dx0achmod +x auto-del-30-days-ago-log.shx0dx0a新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限x0dx0ax0dx0a2.2编辑shell脚本:x0dx0avi auto-del-30-days-ago-log.shx0dx0a编辑auto-del-30-days-ago-log.sh文件如下:x0dx0a#!/bin/shx0dx0afind /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;x0dx0aok,保存退出(:wq)。x0dx0ax0dx0a2.3计划任务:x0dx0a#crontab -ex0dx0a将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行x0dx0a输入:x0dx0a10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1x0dx0a这里的设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务了。

⑵ 如何操作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 定时删除文件夹或文件

给你个思路,不懂问我,如果想要我帮你写出来,你可以加点分啊
查找半年的文件可以用find命令
find
的-mtime
按更改时间
find
.
-mtime
-5
-print
-表示在5天之内更改过的
find
.
-mtime
+5
-print
+表示在5天之前更改过的
每周日删除可以用到cronta(具体使用方法请网络)
无法是每个周日脚本运行一次,cd到指定文件夹,利用find命令找到对应的文件删除就ok了

⑷ linux定时删除一个目录的脚本

可以使用find的 ctime 选项,
ctime的意思是最后修改的时间 +3 表示三天前,也就是在 /backup_100 目录里 找到三天前的符合 abc*的文件及目录并删除。
find /backup_100 -name "abc*" -ctime +3 -exec rm {} \;
如果每天备份多次,
可以使用 NUM=`ls|wc -l`;DEL_NUM=$(($NUM-3)); for i in `ls -tr|head -$DEL_NUM`;do rm -rf $i;done

这样,首先判断当前备份了$NUM次,也就是/backup/abcxxx里有多少个文件夹,
然后NUM-3就是需要删除的文件夹的个数,
然后使用循环,
ls -tr|head -$DEL_NUM 这样通过按时间升序排列取前$DEL_NUM个目录名并依次删除,最后就只剩下了最新的三个目录了。
然后把这样的脚本添加到你的自动备份脚本的最后面就可以了

⑸ linux定时删除前几天日志的定时任务

1. shell脚本文件dellog.sh

#!/bin/sh
echo "开始删除额度系统前一天日志" >> /app/removelog.log
time=`date +%T`
echo 该任务执行时间:`date +%Y-%m-%d` ${time} >> /app/removelog.log

#构造查询日志字符串
beginreg=`date -d "1 day ago" +%Y-%m-%d`
finalstr="*"${beginreg}"*.log"
echo "删除日志清单列表:" >> /app/removelog.log
find /app/ -name "${finalstr}" >> /app/removelog.log
#删除昨天的日志
find /app/ -name "${finalstr}" -exec rm -rf {} \;
echo "----------删除成功!-----------" >> /app/removelog.log

2.删除前一天的日志.具体还可以设置删除什么时候的日志.

用crontab -e命令编辑linux定时器.

⑹ 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 定时任务,压缩 日志,并删除掉 指定日期之前的 日志

sh文件

只要定时任务中添加即可,注意 要是同时运行 ,多个脚本的压缩命令。 不要在一个时间 进行 ,会导致 压缩失败

⑻ Linux如何使用命令定时删除过期文件

在管理Linux下的文件时,我们通常会有定时删除过期文件的这个需求。比如定时删除超过指定时间的日志文件,不然时长越久,你的日志文件占用的空间就越大,那离爆磁盘不远了,还有也解决网站方便的需求,比如我们建立的淘宝客api的程序,为了提高商品页的访问速度,我们需要进行关键数据的缓存,也需要定时删除过期的缓存文件,如果是使用PHP程序扫描删除,那将得不偿失。那么如何在Linux下定时删除过期文件?这里小编简单介绍下,方便需要的朋友。 在linux下删除过期文件,很简单,用如下命令: 复制代码代码如下: find /var/www/ -type f -mtime +30 -exec rm -f '{} ;' 以上命令删除30天以前的过期文件。 命令说明: /var/www/是查找文件的路径。 -type f是指定文件类型为普通文件。 -mtime +30是指修改时间距离现在30天的文件。 -exec rm -f指执行删除匹配出来的文件并且不提示,有的系统需要带单引号,有的不需要。 将以上命令,添加到crontab中,即可实现定期删除了。 比如,每天的1点30分钟实现删除,可以这样: 复制代码代码如下: #crontab -e 30 1 * * * find /var/www/ -type f -mtime +30 -exec rm -f '{} ;'

⑼ Linux 定时删除文件夹或文件

给个思路:

  1. 编写自动删除文件的脚本,关键部分是使用find命令查找到符合条件的文件并将其删除;

  2. 加入crontab,每天23:00运行脚本

PS: 如果删除的文件没有备份或者对应路径下有其他重要文件,则不建议这样做,毕竟谁都不敢保证自动运行的东西不会抽风……自己考虑下要不要用吧

⑽ Linux定时删除日志文件/文件夹

1,新建脚本文件

touch /export/Shell/auto-del-log.sh

2,修改脚本文件权限

chmod +x /export/Shell/auto-del-log.sh

3,脚本文件执行内容

#!/bin/sh

find /export/Instances/pplanT.jd.local/server1/logs -name "$(date "+%Y").*" -exec rm -rf {} \;

#!/bin/sh

find /export/Instances/pplanT.jd.local/server1/logs/* -type d -exec rm -rf {} \;

4,定时执行

crontab -e

*/1 * * * * sh /export/Shell/auto-del-log.sh once > /dev/null 2>&1 &

crontab -l

重载定时配置:service crond reload 

重启定时服务:service crond restart

热点内容
只狼和看门狗哪个配置高 发布:2025-05-17 12:50:21 浏览:205
扁桃玩的服务器地址 发布:2025-05-17 12:18:25 浏览:509
u盘上传歌 发布:2025-05-17 12:14:51 浏览:613
入门c语言设计 发布:2025-05-17 12:08:31 浏览:41
c3算法 发布:2025-05-17 12:04:19 浏览:365
phprecv 发布:2025-05-17 11:55:00 浏览:613
福建时钟监控网关服务器云主机 发布:2025-05-17 11:54:28 浏览:251
c数据库压缩 发布:2025-05-17 11:39:22 浏览:965
安卓手机如何连接音响功放 发布:2025-05-17 11:37:48 浏览:965
破解exe加密视频 发布:2025-05-17 11:23:41 浏览:981