1.crontab命令
crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
1.1 crontab的调度方式
Linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。/etc/crontab,cron.daily/,cron.hourly/ cron.monthly/。
一般把计划任务写在这个文件里面就可以了。/etc/crontab
如果想一小时执行一次的脚本放在 cron.hourly/ 目录里面即可一般会被软连接到这个目录下,或者拷贝进来。。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
如果用户 wang 想创建一个用户的计划任务,可以创建一个 wang 的文件,以crontab的格式写任务计划。例如:echo '00 00 * * * /bin/sh /usr/local/webserver/nginx/script/cut_nginx_log.sh' >> /var/spool/cron/root
1.2 crontab的文件格式
crontab文件的格式:
minute hour day