Linux_系统延时及定时任务
Linux下的工作调度种类:at, crontab.
1.at
at命令执行的任务都是延时任务,延时任务都是临时的
at:atd 进程
使用at命令生成的要执行的命令写入到了/var/spool/at下。
/etc/at.allow 这个文件规定了可以使用at的用户有(优先级高)
/etc/at.deny 这个文件规定了不可以使用at的用户有
at命令的用法:
at + 时间
执行操作
ctrl+D保存
at命令参数:
at -l | atq #查看当前任务
atrm | at -d +任务号 #取消指定任务
at -c +任务号 #查看任务内容(任务未执行)
at now+1min #延时一分钟
at -f file #延时执行文件中的内容(文件不是脚本)
输入mail选择任务对应邮件即可查看任务内容及输出
at -m #延时命令没有输出时也发送邮件给执行者
at -M #延时命令即使有输出也不发送邮件给执行者
at命令如果指定的时间正好服务器关机了。那么下次开机。服务器会立即执行没执行的命令。
2.crontab
crontab执行的任务都是定时任务,定时任务是永久的。
crontab:crond进程
定时任务程序crond,在系统中每分钟做任务扫描
1.发起方式
发起方式一
crontab [-u username ] [-l|-e|-r]
-u 只有root可以使用
-e 编辑
-l 查询
-r 删除所有的定时任务
crontab -u username -e ##username用户建立定时任务
此命令会进入一个文本,该文本的填写方式是:
分 时 天 月 周 + 命令
发起方式二
vim /etc/cron.d/filename 创建一个文件并在里面填写,此文件可以填写多个用户
填写方式是:
分 时 天 月 周 + 用户 + 命令
* * * * * root touch /mnt/file ##表示每分钟在/mnt目录下建立一个文件file
在/etc/crontab下写的内容会被自动执行。格式很明确。文件内容是
修改完这个文件记得要重启一下crond
系统中的临时文件
系统中服务在正常运行时会产生临时文件
在系统中 /usr/lib/tmpfiles.d/ 目录下存放
系统的临时文件配置是 /usr/lib/tmpfiles.d/*.conf
自己创建的临时文件配置文件必须以.conf结尾
文件类型 文件名 文件权限 文件所有人 文件所有组 文件存在的时间
d /mnt/lan 777 root root 10s
然后执行命令,会在/mnt/下建立一个lan目录。
使用--clean 可以清除生存超过10s的文件 systemd-tmpfiles --clean /usr/lib/tmpfiles/*
TEXT
用脚本实现