Linux计划任务
知识点:
· 循环调度执行 cron 用户级
· 企业应用项目实战(cron)
· /etc/crontab
· 日志的重要性
· rsyslog 日志管理
· logrotate 日志轮转
一:一次性计划任务at
作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据
Schedule one-time tasks with at. 一次性调度执行
at Schedule recurring jobs with cron. 循环调度执行
cron Schedule recurring system jobs.
所有计划任务执行中的输出都会以邮件的方式发送给指定用户, 除非重定向
什么叫计划任务 :
计划任务,字面意思理解就是在约定好的时间执行已经计划好的工作。在Linux中我们经常使用cron服务来完成这项工作。比如我们可以使用cron来做一个每天晚上12点备份一个日志文件,这就是个计划任务。
一次性调度执行 at
[root@newrain ~]# yum -y install at
[root@newrain ~]# man at
[root@newrain ~]# systemctl start atd
[root@newrain ~]# systemctl enable atd
软件:at
创建计划任务
at 11:00
rm -rf /tmp/*
ctrl +d ---->正常结束
=============
查看at计划任务个数:at -l
查看详细的计划任务:cat /var/spool/at/a000010180da9e
删掉计划任务: atrm 3---->工作号
at -r/-d 3
删除配置文件
扩展:
midnight:午夜
noon:中午
teatime :下午茶
23:59 12/31/2018 任务在2018年12月31号23点59分
二:循环性计划任务cron
[root@newrain ~]# systemctl status crond.service
[root@newrain ~]# ps aux |grep crond
root 550 0.0 0.0 126300 1648 ? Ss 10:05 0:00 /usr/sbin/crond -n
crond进程每分钟会处理一次计划任务
=====================用户级=====================
存储位置:
[root@newrain ~]# ls /var/spool/cron/
管理方式:
crontab -l List the jobs for the current user.
crontab -r Remove all jobs for the current users.
crontab -e Edit jobs for the current user.
管理员可以使用 -u username, 去管理其他用户的计划任务
/etc/cron.deny:
alice
jack
[alice@newrain ~]$ crontab -e
You (alice) are not allowed to use this program (crontab)
See crontab(1) for more information
语法格式 Job format:
Minutes Hours Day-of-Month Month Day-of-Week Command
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |