Linux--系统延时及定时任务

简介:


一、系统延时任务
            ##at命令发起的延时任务都时一次性的
1.at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对您系统的检查或者特定时间发送的通知。那些需要花费很长时间才可完成的作业正适合at 命令。仅需使用 at 命令将任务设置为在一分钟或两分钟之后运行。然后您便可以安全注销 , 因为该任务会在与 shell 会话断开连接的情况下运行

2.at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期 ( 例如星期一 , 10:00pm 或 7 月 15 日 ) 。也可以是当前时间的相对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加上1 周 ) 通过添加其他选项 , 您可以在任务完成是发送邮件 ( -m ), 或者从文件中读取任务 ( -f 文件 ), 而无需通过标准输入进行

3.在键入 at 命令行之后 , 按 Enter 并继续键入作业中包含的其他命令。
任务可由多个命令组成。在完成键入要运行的命令时 , 在单独出现的一
行中按 Ctrl+d 完成任务at + time
[root@demo ~]# at 11:11
at> rm -fr /mnt/*       ##延迟动作
at> <EOT>           ##ctrl+d表示发起动作
job 6 at Tue Aug  1 11:11:00 2017


4.示例
[root@localhost Desktop]# at now +2 min
at> echo "hello world" >/dev/pts/0
at> <EOT>
job 1 at Tue Oct 31 09:27:00 2017

图示:示例结果

65d6b2d811c386713068d5ec47836ec4.png-wh_


at -l | atq               #查看当前任务
atrm  | at -d   任务id    #取消指定任务
at -c       任务id     #查看任务内容
at now+1min              #延迟一分钟
at -f 文件                #延迟执行文件中的内容
at -m               #延迟命令没有输出时仍然发送邮件给执行者
at -M               #延迟命令有输出时但不发送邮件给执行者
图示:查看当前任务

c12b9373b779d5cc9f9e5ac443469b2d.png-wh_

图示:延迟执行文件中的内容

29899a794d1f7a96d579d4b04b4f40ac.png-wh_

默认系统中全部用户第都有执行at命令的权力,那么如何让设定at命令的黑名单

#at命令黑名单                   
/etc/at.deny                  ##用户黑名单,在此名单中出现的用户不能执行at命令
vim /etc/at.deny    
student                 ##student使用at命令权力被禁止

图示:黑名单内容

c787e2feb2e40773aad4b0d718185777.png-wh_


[student@node1 ~]$at now+1min
You do not have permission to use at. #student不能使用at命令
图示:student不能执行命令

02782fb17415e0adb09221980a0d1487.png-wh_

#at命令白名单
/etc/at.allow          ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
touch /etc/at.allow    ##建立用户白名单,当白名单出现,黑名单失效
vim /etc/at.allow      

westos

图示:白名单内容

83a13a4c075c39378a3f0428a2d4de32.png-wh_

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

图示:westos可以执行命令

80cc795cea323988502279b15f54c0b7.png-wh_

二、管理定期任务

1.cron 设备管理必须按计划定期重复运行的程序。后台程序crond 每分钟唤醒一次 , 以运行计划的任何任务用户使用crontab 命令计划个人任务。系统管理员可以在系统范围配置文件中设置任务

2.单个用户使用称为 crontab ( cron 表 ) 的文本文件登记任
务【可搭配使用】
crontab -u username -e   ##建立当前用户新的cron任务
crontab -u username -r   ##删除当前用户的cron任务

crontab -u username -l   ##列出当前用户的cron任务

crontab -e -u student以普通用户student身份发起编辑内容

图示:编辑内容

07bc2db9ced6026917a46738cf3f61c7.png-wh_

图示:执行结果

152a1d92367f74a214408c84c9934707.png-wh_

3.表示方式

1*2*3*4*5* command

--1*  ---分钟

--2*  ---小时

--3*  ---天

--4*  ---月

--5*  ---周

示例:

vim /mnt/file

crontab -e -u 用户名称(可以不写)
分钟  小时  天   月   周       动作
*     *    *   *   *            
58    06  1,15  *   *     rm -fr /mnt/* #每天6:58分删除mnt中的所有内容

58    06   1-15  *   *     rm -fr /mnt/* #每月1号到每月15号的6:58删除mnt中所有内容

58    06   1,15 3   3      rm -fr /mnt/* #3月1号和15号以及3月的所有周三

*/30  06-17   *   *  1-5     rm -fr /mnt/* #周一到周五的早上6点到下午5点每隔半小时

5.crontab 命令的执行权力设定 

 用户黑名单
/etc/cron.deny     ##用户黑名单,在此名单中出现的用户不能执行crontab命令

 用户白名单
/etc/cron.allow     ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
            ##系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用
            
6.文件方式定义crontab  
vim /var/spool/cron/用户名称   #以某个用户身份执行crow,文件名称必须和用户必须一致
分  时  天 月  周  动作
vim /etc/cron.d/文件
分  时  天 月  周  动作
[kiosk@foundation60 Desktop]$ cat >>westos <<EOF
> * * * * * root touch /tmp/file{1..2}
> * * * * * student touch /tmp/westos{1..2}
> EOF
[kiosk@foundation60 Desktop]$ cat westos
* * * * * root touch /tmp/file{1..2}
* * * * * student touch /tmp/westos{1..2}
图示:文本方式建立文件

89edd3bf8e9f9c666428216ff363add0.png-wh_

三、系统临时文件的管理
1、系统中服务在正常运行时会产生临时文件


2、在系统中 /usr/lib/tmpfiles.d/标实服务的临时文件存放位置


3、文件示例

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

文件类型    文件名称    文件权限    文件所有人  文件所有组  文件存在时间
d   /mnt/westos 777     root        root        10s
图示:追加到/mnt/westos

4097efb89efebfc637e8690afa41161e.png-wh_

4.控制系统中的临时文件

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


图示:执行临时文件配置

e181c6dab0ceef3a50fecc12abe7c733.png-wh_



本文转自 無緣 51CTO博客,原文链接:http://blog.51cto.com/13352594/1978192

相关文章
|
2天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
22 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
26天前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
114 48
|
22天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
16 3
|
26天前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
28 1
|
26天前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
50 1
|
26天前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
10天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
缓存 Linux 开发工具
|
27天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
69 8
|
27天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
180 6