Blog13@linux延迟、定时任务介绍及临时文件时间更改

xiaoxiao2021-02-28  7

摘要:延迟、定时任务介绍及临时文件时间更改

一、at延迟执行任务命令(临时性)

1.at命令执行流程

#at 2:00 tomorrow at>Ctrl+D at time 中时间的一些表示方法: 例: at now+5min at now+5hours at now+5days at now+5weeks at now+5months at now+5years at midnight at 10:30pm at 22:30 12/31/2017

2.at命令的参数详情

at -l / atq #列出延迟任务id at -r 任务id /atrm+任务id #删除此id 任务 at -m #让无输出的命令产生邮件 at -M #让有输出的命令不产生邮件 at -c 任务id #查看此id任务的执行动作 at -f 文件 #用文件内记录的命令作为延迟任务的执行命令 注:一般只有输出的命令才会有邮件

 

实操如下:

############atq,at -l/-r/-c3########### [root@client ~]# at 2:00 tomorrow --->明日两点执行如下命令 at> touch file{1..3} at> date at> <EOT> [root@client ~]# atq 1 Tue Oct 31 02:00:00 2017 a root [root@client ~]# at -l 1 Tue Oct 31 02:00:00 2017 a root [root@client ~]# at -c 1 ...(省略中间内容) touch file{1..3} date [root@client ~]# at -r 1 [root@client ~]# atq

##################at -m/M################# 注: 已知touch file /mnt/file1为无输出命令 date为有输出命令 [root@client ~]# at now+1min at> touch /mnt/file1 at> date at> <EOT> job 6 at Mon Oct 30 09:24:00 2017 [root@client ~]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 1 message 1 new >N 1 root Mon Oct 30 09:24 14/506 -->mail邮件中只显示了date执行过的命令 & q Held 1 message in /var/spool/mail/root You have mail in /var/spool/mail/root [root@client ~]# >/var/spool/mail/root -->清空mail邮件 [root@client ~]# at now+1min at> touch /mnt/file at> <EOT> job 17 at Mon Oct 30 10:18:00 2017 [root@client ~]# at now+1min at> date at> <EOT> job 18 at Mon Oct 30 10:18:00 2017 [root@client ~]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 1 message 1 new >N 1 root Mon Oct 30 10:18 14/503 & q ---------->邮件中只了显示date命令的执行 Held 1 message in /var/spool/mail/root [root@client ~]# atq [root@client ~]# >/var/spool/mail/root [root@client ~]# at -m now+1min at> touch /mnt/file6 at> <EOT> job 19 at Mon Oct 30 10:19:00 2017 [root@client ~]# at now+1min at> date at> <EOT> job 20 at Mon Oct 30 10:19:00 2017 [root@client ~]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 2 messages 2 new >N 1 root Mon Oct 30 10:19 13/474 N 2 root Mon Oct 30 10:19 14/503 & q --------->邮件中显示了date及touch /mnt/file6 的执行 Held 2 messages in /var/spool/mail/root [root@client ~]# >/var/spool/mail/root [root@client ~]# at -M now+1min at> touch file1 at> <EOT> job 21 at Mon Oct 30 10:24:00 2017 [root@client ~]# at -M now+1min at> date at> <EOT> job 22 at Mon Oct 30 10:25:00 2017 [root@client ~]# atq [root@client ~]# mail -->mail邮件中无执行历史

注:若发现在/mnt/下建立文件无显示,请查看并修改/mnt权限

3.at用户黑白名单

##用户黑名单 默认情况下,系统中是存在用户黑名单的,这个名单的路径如下/etc/at.deny  ##用户黑名单,此名单默认为空,并且在白名单不存在时生效

##at用户白名单默认系统中是不存在at的白名单的,但是当白名单出现,系统用除名单中出现的用户以及root用户其他用户均不能执行at命令

 touch /etc/at.allow  ##建立用户白名单,白名单一旦出现,黑名单失效 vim /etc/at.allow注:删除/etc/at.allow白名单,其即会失效

二、cornat定时执行任务命令(永久性)

1.这个程序是由cond.service 服务提供,且写入程序的时间和事件是永久保存的

2.cron设定方式

法一:

crontab -e -u用户名称(可以不写) 分钟 小时 天 月 周 事件 58 06 * * * rm -rf /mnt/* #每天6:58分删除/mnt中的内容 58 06 1,15 * * rm -rf /mnt/* #每月一号和每月15号的6:58分删除/mnt中的内容 58 06 1-15 * * rm -rf /mnt/* #每月一号到每月15号的6:58分删除/mnt中的内容 58 06 1,15 3 * rm -rf /mnt/* #3月的1号和15号的6:58分删除/mnt中的内容 58 06 1,15 3 3 rm -rf /mnt/* #3月的1号和15号及3月的所有周三的6:58分删除/mnt中的内容 58 06-17 * * * rm -rf /mnt/* #6-17点,每隔1小时 */30 06-17 * * 1-5 rm -rf /mnt/* #周一到周五的早上6点到下午5点每隔半小时执行

法二:

文件方式定义crontab

1)

注:/var/spool/cron/*  ##cron任务记录文件的存放位置 vim /var/spool/cron/用户名称  #以某个用户的身份执行cron,文件名称必 须和用户名一致 分    时    天    月    周    动作

2)

vim /etc/cron.d/文件  #设定多个用户身份执行cron 分    时    天    月    周    用户    动作 实操: [root@client ~]# vim /etc/cron.d/RS [root@client ~]# watch -n 1 ls -l /mnt

3)脚本方式

cat cron.sh #!/bin/bash cat >> /etc/cron.d/westos <<Sunshine *****root touch /tmp/file{1..3} *****student touch /tmp/file{4..6} Sunshine

实操: [root@client cron.d]# vim cron.sh [root@client cron.d]# sh cron.sh [root@client cron.d]# watch -n 1 ls -l /mnt

3.corntab的基本参数详情

crontab -l #列出当前用户的cron命令 crontab -r #删除当前用户的cron命令

实操如下: [root@client ~]# crontab -e crontab: installing new crontab [root@client ~]# crontab -e -u student crontab: installing new crontab [root@client ~]# crontab -l * * * * * touch /mnt/file{1..3} [root@client ~]# crontab -u student -l * * * * * rm -rf /mnt/file{1..3}

4.cron的黑白名单

默认情况下,系统中只存在黑名单,当白名单建立,黑名单失效 #黑名单 /etc/cron.deny  ##在此名单下的用户不能执行crontab #白名单 /etc/cron.allow   #用户白名单,当此名单出现,除root用户及名单中的用户其它的用户不能执行crontab

三、临时文件时间修改

关于/tmp文件,想必大家都有所耳闻, 其作用:让一般用户或者正在执行的程序暂时存放文件的地方。这个目录任何人都可以访问,所以需要定期的清理。当然重要的数据不可放置在此目录。因为FHS甚至建议在开机时,应该要将/tmp下的数据清理一下。 为了能够更好地管理临时文件的存留,其当然有固定的存在时长。那么,在此时间内,其文件不可被清理。而这个存在的时长也可被更改。其更改在如下配置文件: [root@client ~]# vim /usr/lib/tmpfiles.d/tmp.conf 那么我们是否可以将自己建立的一些临时文件存放在固定的目录内? 答案是肯定的。 为了方便区分并管理自己建立的这些临时文件存放的目录,

实际操作过程如下:

[root@client ~]# vim /usr/lib/tmpfiles.d/westos.conf

[root@client ~]# systemd-tmpfiles --create /usr/lib/tmpfiles.d/* [root@client ~]# cd /mnt/westos/ [root@client westos]# touch file{1..3}

[root@client westos]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

[root@client westos]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

转载请注明原文地址: https://www.6miu.com/read-750147.html

最新回复(0)