在工作中,我们有时候需要在一个特定的时间去运行一个任务,而那个时间我们可能不在机器旁,所以就必须有一个定时开启及关闭的命令来代替我们执行
###定时任务和延时任务###
at
at + time
at 22:33
at>touch /mnt/file{1..6} ##延迟动作
at> ##ctrl+d表示发起动作
at -l | atq ##查看当前任务
atrm | at -d ##取消指定任务
at -c ##查看任务内容
at now+1min ##现有时间点延迟一分钟
at -f file ##延迟执行文件中的内容
at -m #延迟命令没有输出时仍然发送邮件给执行者
at -M #延迟命令有输出时但不发送邮件给执行者
at 命令的执行权力设定
vim /etc/at.deny ##用户黑名单,在此名单中出现的用户不能执行at命令
vim /etc/at.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
##系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令
## 之前在(at.deny)黑名单中已经加入用户vivian,用户vivian不能使用at命令,之后将其加入白名单中,白名单优先级高于黑 名单,则可以执行at命令
crontab
*(分钟) *(小时) *(日期) *(月份) *(星期)
crontab -u username -e ##编辑crontab工作内容
crontab -u username -r ##移除所有crontab工作内容
crontab -u username -l ##查询crontab工作内容
eg:* * * * * ##每分钟执行一次
*/5 * * * * ##每五分钟执行一次
*/2 09-16 2,17 4,6 3 ##在四六月份的2号与17号及四六月份的周三早上9点至下午
16点,每隔两分钟执行一次命令
方式二:文件方式的设定
vim /etc/cron.d/filename
eg:在四六月份的2号与17号及四六月份的周三早上9点至下午16点,每隔两分钟执行一次清空日志命令
crontab 命令的执行权力设定
crontab的执行权力设定与“at”命令的设定一样。可以参考上文设定方式
/etc/cron.deny ##用户黑名单,在此名单中出现的用户不能执行crontab命令
/etc/cron.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
##系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用
注:系统控制crontab的服务 crond.service ##当程序开启时定时任务生效
###临时文件###
系统中服务在正常运行时会产生临时文件
/usr/lib/tmpfiles.d/*.conf ##系统中临时文件的配置
文件类型 文件名称 文件权限 文件所有人 文件所有组 文件存在时间
d /mnt/westos 777 root root 16s
systemd-tmpfiles –create /usr/lib/tmpfiles.d/* ##执行临时文件
systemd-tmpfiles –clean /usr/lib/tmpfiles.d/* ##清理临时文件