失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux——延时任务与定时任务

linux——延时任务与定时任务

时间:2022-01-07 02:32:57

相关推荐

linux——延时任务与定时任务

目录

一、延时任务

二、定时任务---永久性的

三、系统临时文件的管理

一、延时任务

at #此命令发起的延时任务都是一次性的

at 时间

at now+5minute

at 00:31

>touch /mnt/file{1..3}

>ctrl+d

at -l ##查看定时任务

at -c 4 ##查看指定编号为4的定时任务具体命令

at -r 4 ##删除编号为4的定时任务

[root@node1 mnt]# at 00:31

at> touch /mnt/file{1..3}

at> <EOT> ##ctrl+d表示发起动作

job 4 at Tue Apr 24 00:31:00

[root@localhost ~]# at -l

4 Tue Apr 24 00:31:00 a root

[root@localhost ~]# at -c 4

##编号为4的定时任务具体命令##

[root@localhost ~]# at -r 4

[root@localhost ~]# at -l

[root@localhost ~]#

#实验用监控命令 watch -n 1 ls /mnt/ -l

权力设定

/etc/at.deny ##用户黑名单--默认存在,在此名单中出现的用户不能执行at命令

/etc/at.allow ##用户白名单--默认不存在,但名单一旦出现,黑名单失效

##系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令

二、定时任务---永久性的

方法一:

crontab -u username -e #指定用户建立定时任务

crontab -u username -l #指定用户查看定时任务

crontab -u username -r #指定用户删除定时任务

crontab -e #当前用户建立定时任务

crontab -l #当前用户查看定时任务

crontab -r #当前用户删除定时任务

分钟 小时 天 月 周 动作

* * * * * #每分钟做一次

* 08-17 * * * #每天8时到17时的每分钟做一次

*/2 08-17 * * * #每天8时到17时的每两分钟做一次

*/2 08-17 1,15 * * #每月1日和15日8时到17时每两分钟做一次

*/2 08-17 1,15 3-5 3 #3到5月每月的1日和15日周三的8时到17时每两分钟做一次

[root@localhost ~]# crontab -u root -e #建立定时任务

no crontab for root - using an empty one

crontab: installing new crontab

[root@localhost ~]# crontab -u root -l #查看定时任务

* * * * * touch /mnt/file{1..3} #在/mnt建立文件file{1..3},定时为每分钟

[root@localhost ~]# cat /var/spool/cron/root #此定时任务以文件形式存在

* * * * * touch /mnt/file{1..3}

[root@localhost ~]# crontab -u root -r #删除定时任务

[root@localhost ~]# crontab -u root -l

no crontab for root

[root@localhost ~]# cat /var/spool/cron/root

cat: /var/spool/cron/root: No such file or directory

[root@localhost ~]#

方法二:

vim /etc/cron.d/filename

分钟 小时 天 月 周 用户 动作

* * * * * root touch /mnt/file{1..3}

#超级用户每分钟在/mnt下建立一次file{1..3}

步骤如下:

[root@localhost ~]# cd /etc/cron.d

[root@localhost cron.d]# ls

0hourly raid-check sysstat unbound-anchor

[root@localhost cron.d]# vim tutu

[root@localhost cron.d]# cat tutu

* * * * * root touch /mnt/file{1..3}

[root@localhost cron.d]# crontab -l

no crontab for root

[root@localhost cron.d]#cd /var/spool/cron

[root@localhost cron.d]#ls

[root@localhost ~]# cd /etc/cron.d

[root@localhost cron.d]# ls

0hourly raid-check sysstat tutu unbound-anchor

[root@localhost cron.d]#

#[root@localhost cron.d]#cd /var/spool/cron #用户级别

#[root@localhost ~]# cd /etc/cron.d #系统级别

#黑名单--默认存在 /etc/cron.deny

用户黑名单,在此名单中出现的用户不能执行crontab命令

[root@localhost ~]# su - tutu

Last login: Tue Apr 24 02:03:11 EDT on pts/1

[tutu@localhost ~]$ crontab -e

no crontab for tutu - using an empty one

crontab: installing new crontab

[tutu@localhost ~]$ logout

[root@localhost ~]# vim /etc/cron.deny

[root@localhost ~]# cat /etc/cron.deny

tutu

[root@localhost ~]# su - tutu

Last login: Tue Apr 24 02:03:44 EDT on pts/1

[tutu@localhost ~]$ crontab -e

You (tutu) are not allowed to use this program (crontab)

See crontab(1) for more information

[tutu@localhost ~]$ logout

[root@localhost ~]#

#超级用户可以命令黑名单中的用户执行定时任务

[root@localhost ~]# cat /etc/cron.deny

tutu

[root@localhost ~]# su - tutu

Last login: Tue Apr 24 02:04:31 EDT on pts/1

[tutu@localhost ~]$ crontab -e

You (tutu) are not allowed to use this program (crontab)

See crontab(1) for more information

[tutu@localhost ~]$ logout

[root@localhost ~]# crontab -u tutu -e

crontab: installing new crontab

[root@localhost ~]#

#白名单--默认不存在

touch /etc/cron.allow

#用户白名单,名单默认不存在,但名单一旦出现,黑名单失效

#系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用

#白名单与黑名单文件只能出现其一,均出现时,仅读取白名单

[root@localhost ~]# cat /etc/cron.deny

[root@localhost ~]# touch /etc/cron.allow

[root@localhost ~]# cat /etc/cron.allow

[root@localhost ~]# su - tutu

Last login: Tue Apr 24 02:07:16 EDT on pts/1

[tutu@localhost ~]$ crontab -e

You (tutu) are not allowed to use this program (crontab)

See crontab(1) for more information

[tutu@localhost ~]$ logout

[root@localhost ~]# su - linux

Last login: Tue Apr 24 02:03:33 EDT on pts/1

[linux@localhost ~]$ crontab -e

You (linux) are not allowed to use this program (crontab)

See crontab(1) for more information

[linux@localhost ~]$ logout

[root@localhost ~]# vim /etc/cron.allow

[root@localhost ~]# cat /etc/cron.allow

tutu

[root@localhost ~]# su - tutu

Last login: Tue Apr 24 02:11:18 EDT on pts/1

[tutu@localhost ~]$ crontab -e

no crontab for tutu - using an empty one

crontab: installing new crontab

[tutu@localhost ~]$

三、系统临时文件的管理

/usr/lib/tmpfiles.d/*.conf #系统中临时文件的配置

tmp.conf #临时缓存文件

类型 名称 权限 所有人 所有组 存在时间

d /mnt/tutu 1777 root root 10s

[root@localhost cron.d]# cd /usr/lib/tmpfiles.d/

[root@localhost tmpfiles.d]# ls

abrt.conf lvm2.conf spice-vdagentd.conf

cups.conf mdadm.conf subscription-manager.conf

cups-lp.conf pam.conf systemd.conf

gvfsd-fuse-tmpfiles.conf ppp.conf systemd-nologin.conf

initscripts.conf rpm.conf tmp.conf

iscsi.conf samba.conf x11.conf

legacy.conf saslauthd.conf

libselinux.conf selinux-policy.conf

[root@localhost tmpfiles.d]# vim tutu.conf

[root@localhost tmpfiles.d]# cat tutu.conf

d /mnt/tutu 1777 root root 10s

[root@localhost tmpfiles.d]# systemd-tmpfiles --create /usr/lib/tmpfiles.d/*

[root@localhost tmpfiles.d]# touch /mnt/tutu/file

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

[root@localhost tmpfiles.d]# touch /mnt/tutu/file

[root@localhost tmpfiles.d]# touch /mnt/tutu/file1

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

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

[root@localhost tmpfiles.d]#

#虚拟机用监控命令 watch -n 1 ls -R /mnt/ -l

ystemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##执行临时文件配置

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理临时文件(存在时间在设置以上,存在时间不在设置以上的不做清理)

如果觉得《linux——延时任务与定时任务》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。