您的位置:首页 > 运维架构 > Linux

linux中系统延时任务及定时任务

2019-04-14 23:11 1231 查看

1.系统延时任务
如遇到这种情况
Can't open /var/run/atd.pid to signal atd. No atd running?

则执行
重启服务

1 at

at 固定的时间
at now+1min(一分钟之后执行)
touch file1 建立文件1
ctrl d 开启任务

at -l 查看延时任务列表

at -c 任务号 (查看任务内容)


at -r 任务号 (删除任务)

12任务已被删除

当延时任务有输出时候,并不是输出在终端上,而是以邮件的形式发送给任务的发起者


邮件的存放位置
/var/spool/mail/用户名 :每一个用户的邮件会被记录在以其用户名为名称的文件中。

清空邮件

2.at任务用户的黑白名单
/etc/at.deny (用户的黑名单) 系统中默认存在
/etc/at.allow (用户的白名单) 系统中默认不存在可以建立,建立后所有普通用户都不能执行at 除非在其名单中
白名单成立后黑名单自动失效

老张在黑名单中所以不能执行at任务
harry没在黑名单中则可执行at任务
白名单成立后所有用户不能执行at任务

3系统定时任务设定
1.crontab 时间的表示方式

依次表示为 minute: 表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。 day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

表示每分钟

表示每2分钟

早上9点到下午三点每两分钟

5月3日每周二的早上9点到下午15点每两分钟

2.crontab

crontab -e -u 指定用户创建定时任务

建立了文件file{1.3}
crontab -l -u 查看指定用户的定时任务

crontab -r -u # 取消指定用户的定时任务


3系统控制crontab的服务
crontab由crond.service 服务控制。当该服务开启时,所设定的定时任务才能生效。
service crond status 来运行服务

4.文件的方式设定定时任务
创建/etc/cron.d/xxx 文件 ,在该文件中编写需要执行的定时任务
任务编写格式:* * * * * 用户(执行该任务的) 任务操作


5.crontab 的黑白名单
crontab 的黑名单
/etc/cron.deny 系统中默认存在,出现在黑名单中的用户将无法使用crontab设定定时任务。

crontab 的白名单
/etc/cron.allow 系统中默认不存在,如果自己创建,黑名单失效,只有出现在白名单中的用户才能使用crontab设定定时任务,超级用户不受限制。

系统中临时文件的管理

systemd-tmpfiles 系统用来创建、管理、删除临时文件的命令。
临时文件都存在有效期,当其有效期过了之后就可诶被清理,但是有效期没过就不能被清理。所以设置定时任务对系统的临时文件进行清理,在每次清理时过期的文件会被清理掉,只要设置合适的清理周期,就能保证系统中临时文件不会占用大量资源。

/usr/lib/tmpfiles.d/ 中的.conf文件描述了 systemd-tmpfiles 如何创建、清理、删除临时文件和目录,记录了对临时文件的规范。
创建xxx.conf 文件,并写入规范

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
编写一个临时目录的规范文件,并扫描该规范文件创造出该目录 文件读取

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
使用该指令对临时文件的规范文件进行扫描,过期的临时文件会被清理

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: