【一次性计划任务】
【at】
-f:指定包含具体指令的任务文件;
-q:指定新任务的队列名称;
-l:显示待执行任务的列表;
-d:删除指定的待执行任务;
-m:任务执行完成后向用户发送E-mail。
-c:打印任务的内容到标准输出
[root@localhost ~]# dnf install at*
[root@localhost ~]# systemctl status atd.service
[root@localhost ~]# watch ls /root/myjob.txt (watch后面跟命令可以实时查看)
【小实验】
1. 使⽤ at 命令计划从现在起三分钟后运⾏⼀项作业。该作业必须将 date 命令的输出保存
⾄ /root/myjob.txt
[root@localhost ~]# at now +3 minutes
warning: commands will be executed using /bin/sh
at> data > /root/myjob.txt
at> <EOT>
job 6 at Fri Jul 12 10:43:00 2024
[root@localhost ~]# atq
2 Fri Jul 12 10:21:00 2024 a root
2. 使⽤ at 命令以交互⽅式将作业排⼊将在 teatime (16:00)运⾏的队列 g。该作业将执
⾏向 /home/redhat/tea.txt 中显⽰消息 It's teatime 的命令。新消息应附加⾄⽂件
/home/redhat/tea.txt。
[root@localhost ~]#at -q g teatime
warning: commands will be executed using /bin/sh
at> echo 'its teatime' >> /home/redhat/tea.txt
at> <EOT>
job 3 at Fri Jul 12 16:00:00 2024
3. 使⽤ at 命令以交互⽅式将另⼀作业排⼊将在 16:05 运⾏的队列 b。该作业将执⾏向
/home/redhat/cookies.txt 中显⽰消息 The cookies are good 的命令。新消息应附加⾄
⽂件 /home/redhat/cookies.txt。
[root@localhost ~]# at -q b 16:05
warning: commands will be executed using /bin/sh
at> echo 'this cookies are good' >> /home/redhat/cookies.txt
at> <EOT>
job 5 at Fri Jul 12 16:05:00 2024
4. 检查待处理作业中的命令。
[root@localhost ~]# at -c 5(序号)
5. 使⽤ atq 命令查看将在 teatime 运⾏的作业的作业编号,使⽤ atrm 命令将该作业删
除。
[root@localhost ~]# atq
3 Fri Jul 12 16:00:00 2024 g root
5 Fri Jul 12 16:05:00 2024 b root
[root@localhost ~]# atrm 3
6. 验证作业是否删除。
[root@localhost ~]# atq
5 Fri Jul 12 16:05:00 2024 b root
【周期性计划任务】
crontab -l 列出当前⽤⼾的计划作业
crontab -r 删除当前⽤⼾的所有作业
crontab -e 编辑当前⽤⼾的作业
crontab filename 删除所有作业,并替换为 filename 读取的作业。如果没有指定⽂件,则使⽤ stdin
【小实验】
1. 以 redhat ⾝份计划周期性作业,在上午 8 点到晚上 9 点之间每两分钟⼀次将当前⽇期和
时间附加到 /home/redhat/my_first_cron_job.txt。该作业只能在周⼀到周五运⾏,周六和周⽇不能运⾏。
2. 列出计划的周期性任务
3. 使⽤以下命令测试计划的周期性计划任务
4. 使⽤ cat 命令确定⽂件内容是否与预期⼀致
5. 删除该周期性计划任务
[root@localhost ~]# crontab -u redhat -e
crontab: installing new crontab
[root@localhost ~]# crontab -u redhat -l
*/2 8-20 * * 1-5 date >> /home/redhat/my_first_cron_job.txt
[root@localhost ~]# cat /home/redhat/my_first_cron_job.txt
Fri Jul 12 11:34:01 AM CST 2024
[root@localhost ~]# crontab -u redhat -r
[root@localhost ~]# crontab -u redhat -l
no crontab for redhat
【ssh】
rpm -qa | grep openssh
systemctl status sshd
ssh-keygen
ll /root/.ssh
ssh-copy-id root@192.168.159.131
ssh root@192.168.159.131