linux初级学习之系统延迟及定时机制2-3

来源:互联网 发布:淘宝加盟开店 编辑:程序博客网 时间:2024/05/22 01:11

第三单元  

系统延迟及定时机制

学习目标• 计划定期任务• 延迟任务 计划定期任务

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

• at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期 ( 例如星期一 , 10:00pm 或 7 月 15 日 ) 。也可以是当前时间的相对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加上1 周 ) 通过添加其他选项 , 您可以在任务完成是发送邮件 ( -m ), 或者从文件中读取任务 ( -f 文件 ), 而无需通过标准输入进行• 在键入 at 命令行之后 , 按 Enter 并继续键入作业中包含的其他命令。任务可由多个命令组成。在完成键入要运行的命令时 , 在单独出现的一行中按 Ctrl+d 完成任务at 命令示例[root@serverX ~]# at now +2 minat> echo "Hello from the at command" >/dev/pts/0at> <EOT>job 4 at 2011-08-10 14:05注 :在将某一 at 作业设置为运行之后 , 可以通过使用 atq 命令列出作业编号以及次数。若要查看作业中所包含的命令 , 键入 at -c #( # 号为作业编号 ) 。键入 Atrm # ( # 号为作业编号 ) 则是删除指定作业。

02:26时删除/mnt的所有文件

下一分钟建立/mnt/file1到10

asasin用户被写入cron的黑名单

 

cron命令的白名单。用户同时存在黑名单和白名单默认只读取白名单


除了白名单写入的用户只有root可以执行


1.管理定期任务

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

单个用户使用称为 crontab ( cron 表 ) 的文本文件登记任务

crontab -l 列出文件

crontab -r 删除文件

• crontab -e 编辑文件

• crontab -e 使用默认编辑器是 vi

2.corn 时间表示方式

• 1* 2* 3* 4* 5* command– 1*---------- 分钟– 2*---------- 小时– 3*---------- 天– 4*---------- 月– 5*---------- 周时间表示示例 

每小时整点过七分执行rm -fr /mnt/* 命令


每天03:09执行touch /mnt/file{1..10}

每年每月18和28 号01点到15点每秒执行一次rm -fr /mnt/*命令



3.crontab 注意事项

• 属于系统的任务通常保存在 /etc/crontab 文件中而不是使用 crontab -e 编辑保存在个人文件中。更好的做法是用文本编辑器创建 crontab 文件并保存到 /etc/cron.d 中 ( 避免更新系统软件包 cronie 时出现问题 ) 。/etc/cron.d/crontab 文件在日期说明后另加一个字段 , 表示将运行作业的用户• 对于需要每天、每周或每月运行一次的脚本 , 可以直接将其设置为可执行文件 , 并保存在 /etc/cron.{daily,weekly,monthly} 中相应目录下。这些任务由/etc/anacrontab 配置的系统 anacron 服务运行 anacron是 cron 的集成组件 , 用于更好地管理作业 , 并确保在作业因计算机关闭而未运行的情况下 , 在系统引导后运行作业

4.cron 权限设定

• 在系统中默认所有用户可以设定 cron• 用户黑名单

  – /etc/cron.deny• 用户白名单 

   /etc/cron.allow

5.系统中的临时文件

• 系统中服务在正常运行时会产生临时文件

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

• 文件示例

• vim /usr/lib/tmpfiles.d/test.confd /run/test 0700 root root 5s

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

• systemd-tmpfiles– --create /usr/lib/tmpfiles.d/test.conf– --clean /usr/lib/tmpfiles.d/test.conf



0 0
原创粉丝点击