Linux使用crontab实现系统定时任务

先进入系统cron目录  

cd /var/spool/cron/crontabs

以当前用户名创建自定义的系统任务,由于我的系统是树莓派,当前登录用户为pi,所以创建的系统名为pi

touch pi

更改pi的所有者与所属组,当前系统登录用户为pi,所属组也为pi

sudo chown pi:pi pi

更改cron的执行权限,Debian和Ubuntu的系统cron有安全模式,所以要把权限改为0600

sudo chmod 0600 pi


接着打开cron文件

sudo vim pi

到此就可以编辑系统cron任务了,以最简单的例子,每分钟往文件追加写入一个字符串 

* * * * * echo 'crontab test' >> /home/cron_test.txt

以上5个星号代表每分钟执行一次, >> 为追加写入,这边的echo需要注意,有的需要写全echo的执行路径。例如Debian系统echo的执行路径为/bin/echo  

进入home目录创建接收写入的文件cron_test.txt

cd /home
touch cron_test.txt

同样防止cron_test.txt文件权限太低,无法写入的情况,同样也做文件执行权限,以及拥有者和所属组更改

sudo chmod 777 cron_test.txt
sudo chown pi:pi cron_test.txt

为了发现cron执行错误,我们可能需要开启cron日志,并且把cron前的#号去掉 

sudo vim /etc/rsyslog.conf

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                          /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

重启rsyslog 

sudo service rsyslog restart

重启cron 

sudo service cron restart

最后每过一分钟,cron_test.txt就会追加写入字符串,以下是测试截图 

 

上一篇: boostarp file-input上传文件

下一篇: 对象与数组

分享

版权属于:破冰者博客

文章链接:https://ice-breaker.cn/post/7

转载时必须以链接形式注明原始出处及本声明。

表情