Linux周期性任务的执行指令配置

我的人生不能再这样了!

想半天也不知道用什么标题比较好!通俗的讲就是在Linux服务器上重复的有周期性的做某些事情.

导火索:oracle备份文件没日没夜的增大,知道占满整个空间,如果不删除旧的,新的就生成不了.

关键词:crontab

 

什么都不知道的情况下当然不能拿服务器备份文件做实验,首先解决周期循环新建文件.

什么命令新建文件→touch

生成什么文件名→以当前时间命名例如201304271958→$(date -d "today" +"%Y%m%d%H%M")

接下来试试下面的命令

touch $(date -d "today" +"%Y%m%d%H%M").txt

再ls一下,可以发现会有一个新建的txt文件,名称是当前时间.

接下来我们要做到效果是每分钟生成一个txt文件.

编写shell脚本(生成的文件在/opt目录下下)

#vi jiaoben.sh

touch /opt/$(date -d "today" +"%Y%m%d_%H%M").txt;

给jiaoben.sh添加可执行权限

#chmod +x jiaoben.sh

可以试试是否有效果:

#./jiaoben.sh

如果ls后发现目录下有对应时间的txt文件生成则说明成功.

最后是周期性任务的配置,利用cron服务,具体详细可以谷歌维基一下

修改指定文件(最后一行添加),假设jiaoben.sh在/opt目录下

#vi /etc/crontab

*/1 * * * * root /opt/jiaoben.sh

以上配置表明每一分钟,任何小时,任何天,任何月,无论星期几,root用户执行脚本jiaoben.sh

具体说明猛击这里

保存后,就应该有效果了,每隔一分钟都会在/opt目录下新建生成一个txt文件.

至此目的已达到.

附上有趣的例子.(始终/opt下面都只存在一个txt文件)

#vi jiaoben.sh

touch /opt/$(date -d "today" +"%Y%m%d_%H%M").txt;

/usr/bin/find /opt/*.txt -cmin +1 -exec rm {} \;

该命令是每分钟生成一个txt文件,删除一分钟之前的txt文件,注意我是在Ubuntu下实现的,貌似redhat下面是两分钟之前,具体未深究.

关于find命令可以自己去查询相关资料.

至此,实验结束,我已解决我的问题.

转载于:https://www.cnblogs.com/snackuo/archive/2013/04/24/3041322.html

你可能感兴趣的:(Linux周期性任务的执行指令配置)