linux 下如何编写定时删除某目录下文件的脚本
发布时间:2025-05-12 05:51:56 发布人:远客网络
一、linux 下如何编写定时删除某目录下文件的脚本
自己编写crontab设定计划任务就是了,那个服务就是做这些定时的,自动化的工作用的。要写什么脚本的,一个命令搞定。
此命令将打开一个文本编辑器以添加新任务。
* 20*** rm-rf/root/febhost/dat/*/root/febhost/log/*
用对应的文本编辑器命令保存退出(vi编辑器是按esc后打:wq)
如果你对这种方式不熟悉,也可以直接改/etc/crontab,我看到你是要删除root文件夹内的目录,假设你有root权限(因为/etc/crontab所有者是root,并且只有以root身份执行删除命令才能删除root home内的文件),用以下命令打开此文件:
将光标移动至最后一行,按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定时删除3个月之前的文件
find/home/weblogic/tmp-mtime+10-name"."-exec rm-rf{};
将/home/weblogic/tmp目录下所有10天前带"."的文件删除
find:linux的查找命令,用户查找指定条件的文件
/home/weblogic/tmp:想要进行清理的任意目录
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
".":希望查找的数据类型,".jpg"表示查找扩展名为jpg的所有文件,""表示查找所有文件,这个可以灵活运用
rm-rf:强制删除文件,包括目录
{} \;:固定写法,一对大括号+空格++;
将脚本文件加入到系统计划任务,到点自动执行
测试定时任务使用这个脚本,测试该脚本是否可以每分钟新建一个文件夹?
三、linux的定时重启的具体命令 非常感谢。。。
LINUX服务器定时重启的具体命令如下:
0 1***/sbin/reboot( 0 1***表示每天凌晨一点重启.)
0 1** 1/sbin/reboot(0 1** 1表示每周一凌晨一点重启
30 2***/home/bin/oraclebackup.sh(备份数据库和站点目录)
30 3***/home/bin/cmsbackup.sh(备份数据库和站点目录)
[root@localhost~]#/etc/init.d/crond restart
[root@localhost~]# chkconfig--levels 35 crond on(重启crond服务)
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
1.minute:表示分钟,可以是从0到59之间的任何整数。
2.hour:表示小时,可以是从0到23之间的任何整数。
3.day:表示日期,可以是从1到31之间的任何整数。
4.month:表示月份,可以是从1到12之间的任何整数。
5.week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
6.command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。