本文主要是介绍RHCE在系统设定延迟任务与定时任务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实验定义
延迟任务和定时任务都是常见的任务调度机制,用于在特定时间点或时间间隔触发执行任务。它们在系统开发中经常被使用。
延迟任务
延迟任务是指在一定的时间间隔之后执行的任务。我们可以指定一个时间延迟,然后在延迟时间过后执行相应的任务。例如,在用户发出请求后的5秒钟内执行某个操作。
定时任务
定时任务是指在特定的时间点或时间间隔触发执行的任务。我们可以指定一个具体的日期和时间,或者是一个时间间隔,来安排定时任务的执行。例如,每天早上8点执行的定时任务,或者每隔10分钟执行一次的定时任务。
在Linux系统中,可以使用`at`和`cron`命令来实现延迟任务和定时任务。
1. 延迟任务:使用`at`命令可以实现延迟任务的调度和执行。`at`命令允许你在指定的时间点执行一次性的任务。你可以使用`at`命令结合具体的时间和命令来安排任务执行。例如,`at now + 5 minutes`表示5分钟后执行任务。
2. 定时任务:使用`cron`命令可以实现定时任务的调度和执行。`cron`是一个任务调度守护进程,它可以根据预定的时间表执行任务。你可以编辑`crontab`文件,指定任务的执行时间和要执行的命令。`cron`会按照设定的时间周期性地执行任务。例如,`*/5 * * * * command`表示每隔5分钟执行一次命令。
除了`at`和`cron`命令外,还有一些第三方的任务调度工具和框架可供选择,如`systemd`、`anacron`等,它们提供更高级的任务调度功能和管理能力。
实验要求
一.在系统中设定延迟任务要求如下
- 在系统中建立easylee用户,设定其密码为easylee
- 延迟任务由root用户建立
- 要求在5小时后备份系统中的用户信息文件到/backup中
- 确保延迟任务是使用非交互模式建立
- 确保系统中只有root用户和easylee用户可以执行延迟任务的设定
[root@server200 ~]# useradd easylee
[root@server200 ~]# passwd easylee
更改用户 easylee 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server200 ~]# vim /etc/at.allow
[root@server200 ~]# touch /backup
[root@server200 ~]# at now+5 hours
warning: commands will be executed using /bin/sh
at> cp /path/to/user_info_file /backup
at> <Ctrl+D>
job 1 at 2024-04-17 14:23
[root@server200 ~]# chown root:easylee /backup
[root@server200 ~]# chmod 750 /backup
二.在系统中设定定时任务并优化定时任务
- 每天凌晨4点显示系统的根设备使用信息并以邮件的形式发送到root邮箱中
- 确保此任务为系统定时任务
[root@server200 ~]# vim mail.sh
[root@server200 ~]# cat mail.sh
#!/bin/bash
manage=$(df -h /)
[root@server200 ~]#echo "manage" | mail -s test root
[root@server200 ~]# chmod +x mail.sh
[root@server200 ~]# crontab -e
//写入内容
* 04 * * * /mail.sh
这篇关于RHCE在系统设定延迟任务与定时任务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!