Linux实现定时操作

主要参考 Linux 定时执行shell 脚本_spearhead_cai的博客-CSDN博客

1.首先写一个shell脚本文件,这里我们创建了一个脚本文件(script.sh),主要功能为进入test目录(/usr/local/timingtest/testsh/scripttest/test),对其中的test1文件追加内容(/usr/local/timingtest/testsh/scripttest/test/test1 ),并显示时间

cd /usr/local/timingtest/testsh/scripttest/test
echo "追加测试" >> /usr/local/timingtest/testsh/scripttest/test/test1 
echo "$(date '+\%Y_\%m_\%d \%H:\%M:\%S')">>/usr/local/timingtest/testsh/scripttest/test/test1
  • 这里需要绝对路径,所有执行文件内部,对另一个文件操作时,需要绝对路径,不能是相对路径,不然会无法执行脚本文件

2.设置脚本权限

chmod 777 script.sh

 3.设置定时任务(crontab )

crontab命令(常用命令)


crontab –e     //修改 crontab 文件,如果文件不存在会自动创建。
crontab –l      //显示 crontab 文件。
crontab -r      //删除 crontab 文件。
crontab -ir     //删除 crontab 文件前提醒用户。
 
 
service crond status     //查看crontab服务状态
service crond start     //启动服务 
service crond stop     //关闭服务 
service crond restart     //重启服务 
service crond reload     //重新载入配置

基本格式

*  *  *  *  *  command
分  时  日  月  周   命令

第1列表示分钟 00~59 每分钟用*或者 */1表示

第2列表示小时 00~23(0表示0点)

第3列表示日期 01~31

第4列表示月份 01~12

第5列标识号星期 0~6(0表示星期天)

第6列要运行的命令

此外每一列除了数字,还可以有这些符号,其含义如下所示:

*        代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行
,        代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行
-        代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行
*/n     代表每个多久执行一次,比如*/10 * * * *代表每隔10分钟执行一次

了解crontab常用命令及基本格式后,然后就可以设置定时任务了

*/1 * * * * sh /usr/local/timingtest/testsh/scripttest/script.sh
分 时 日 月 周  (*对应的参数,每分钟用*或者 */1表示,具体看网站介绍)

设置了之后会有几分钟延迟,最后的结果为:

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值