Linux系统工程师Linux坚持写

linux入门之任务计划crontab

2016-07-16  本文已影响426人  和奇谷朴

crontab介绍

我们时常会有一些定期定时的任务,如周期性的清理一下/tmp,周期性的去备份一次数据库,周期性的分析日志等等。而且有时候因为某些因素的限制,执行该任务的时间会很尴尬。本文同你一起掀开Linux系统自动任务的神秘面纱。

1、基本概念

  • crontab自动任务的理解
  • crontab命令的格式和参数

2、环境的准备

实验楼的linux系统,默认是没有启动日志和cron守护进程,需要手动启动

  • 启动日志的命令
  • 启动crontab
  • 操作截图如下


    启动日志和crontab启动日志和crontab

** crontab 新增任务**

  • 使用vi编辑器进行编辑,输入i切到编辑模式
![新增任务计划](https://dn-simplecloud.qbox.me/1790261468638619229-wm)

> *  查看结果
 - 没有生成文件?日志报错“no mta installed discarding output”
 ```sudo tail -f  /var/log/syslog 
报错日志报错日志
*/1 * * * * touch /home/shiyanlou/$(date  +\%Y\%m\%d\%H\%M\%S) 
已生成20160716142101文件已生成20160716142101文件

crontab使用

一个是linux系统,是存在多个用户的,那么每个用户建立的crontab是否会有冲突呢?当然不会冲突,要是冲突,就没有安全性和可靠性而言了。那么具体是怎么做到的呢?

1、配置文件的独立性

  • 不同用户,在/var/spool/cron/crontabs里存在一个对应的配置文件

2、守护进程cron自动执行

  • 在etc目录下存在如下cron文件,这几个文件会让你的任务计划安装计划正确执行

crontab进阶

设定crontab之后,系统管理员最关心的是crontab任务有没有按照计划执行完毕,执行过程中有没有出错?那么我们可以通过查看日志文件来了解请情况。

1、crontab系统日志

  • 默认的系统日志 存在于 /var/log/syslog 文件里
  • 自定义启用cron日志 通过编辑 /etc/rsyslog.d/50-default.conf配置文件,达到启用cron.log专用日志,详见下图


    系统日志系统日志

2、crontab执行日志

  • 在crontab命令里,可以自定义执行日志的路径和名称【分 时 日 月 星期 <执行的命令> <执行的日志>】,如下两个实例:
(1) * 8 * * 0  /home/shiyanlou/mybin/back.sh 1>>/home/shiyanlou/back.log 2>>/home/shiyanlou/back.log
 (2) * 8 * * 0 /home/shiyanlou/mybin/back.sh >>/home/shiyanlou/back.log 2>&1

作业

撰写一个crontab任务计划,使其完成在“每周日的上午8点自动执行一次备份脚本 back.sh”

  • back.sh 是对该目录/home/shiyanlou/Code下的blog目录文件进行压缩打包;
  • 结合上面设定的crontab自动任务,现补充 back.sh的脚本如下:


    备份脚本备份脚本

友情提示

我正在实验楼撸代码,你也快来!800+编程实战教程,无需搭环境,直接练习!用我的链接注册,你我都能获得3个实验豆!http://www.shiyanlou.com/register?inviter=NTY0MzE5MTkxNzAx


感谢您花费时间阅读这篇文章!!通过上述讲解是不是让您对linux的任务计划crontab有了进一步的了解了呢?是的话请给个赞吧!

上一篇 下一篇

猜你喜欢

热点阅读