linux 下如何编写定时删除某目录下文件的脚本?

举个例子,例如:每天晚上8点自动删除/root/febhost/dat和/root/febhost/log下的文件。脚本怎样编写?... 举个例子,例如:每天晚上8点自动删除/root/febhost/dat和/root/febhost/log下的文件。脚本怎样编写? 展开
 我来答
Phoenix1812
推荐于2017-11-26 · TA获得超过1418个赞
知道大有可为答主
回答量:1279
采纳率:50%
帮助的人:1814万
展开全部
自己编写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用户,最后一个字段就是定时运行的命令。

参考资料: http://linux.die.net/man/5/crontab

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式