利用Linux的计划任务(cron)定时执行一个shell监控脚本

实验目的

使用cron定时执行一个简单的shell的监控脚本,将结果重定向到一个文本文件中。


cron

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

使用 crontab 命令
–编辑计划任务:crontab -e [-u 用户名]
–查看计划任务:crontab -l [-u 用户名]
–清除计划任务:crontab -r [-u 用户名]

周期性计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径)

例如:
* * * * * 每分钟执行一次
30 23 * * * 每天晚上11点30分执行一次
30 23 * * 5 每周的周五晚上11点30分执行一次
30 23 * * 1-5 周一至周五晚上11点30分执行一次
30 23 * * 1,5 周一和周五晚上11点30分执行一次
30 23 1 * 1 每月一号或者每周的周一,晚上11点30分执行一次

*/5 * * * * 每隔5分钟执行一次
1 */2 * * * 每隔两个小时执行一次

*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n …

实验内容

制定一个计划任务每分钟执行一次

[root@openstack ~]# crontab -e

[root@openstack ~]# crontab  -l
* * * * * bash /root/test.sh > /root/test.txt


监控脚本的内容

[root@openstack ~]# cat test.sh 
#!/bin/bash
uptime | awk '{print "cpu的15分钟平均负载是"$NF}'
ifconfig eth0 | awk '/RX p/{print "eth0网卡的接收流量是"$5"字节"}'
free -h | awk '/^Mem/{print "剩余内存是"$4}'
df -h | awk '/\/$/{print "磁盘根分区剩余容量是"$4}'
awk 'END{print "账户总数是"NR"个"}' /etc/passwd
echo "当前开启的进程数量是$(ps aux | wc -l)个"
echo "当前登录的用户数量是$(who | wc -l)个"
echo "总共安装的软件包数量是$(rpm -qa | wc -l)个"

实验结果

[root@openstack ~]# cat test.txt 
cpu的15分钟平均负载是0.14
剩余内存是4.8G
磁盘根分区剩余容量是38G
账户总数是40个
当前开启的进程数量是206个
当前登录的用户数量是1个
总共安装的软件包数量是813

验证

添加一个用户

[root@openstack ~]# useradd  test 

过一分钟查看用户总数增加一个

[root@openstack ~]# cat test.txt 
cpu的15分钟平均负载是0.13
剩余内存是4.8G
磁盘根分区剩余容量是38G
账户总数是41个
当前开启的进程数量是205个
当前登录的用户数量是1个
总共安装的软件包数量是813

清除计划任务

[root@openstack ~]# crontab  -r
[root@openstack ~]# crontab  -l
no crontab for root
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 好的,我可以帮你解决这个问题。 在 Linux 系统中,可以使用 crontab 命令来设置定时任务。具体操作如下: 1. 打开终端,输入 crontab -e 命令来编辑定时任务。 2. 在打开的文本编辑器中,按照以下格式添加定时任务: ``` * * * * * /path/to/your/script.sh ``` 其中,星号表示任意时间,每个星号分别代表分钟、小时、日期、月份、星期几。例如,上述格式表示每分钟执行一次 script.sh 脚本。 3. 保存并退出编辑器。 注意,如果你想要在定时任务中使用命令行参数,可以在脚本路径后面添加相应的参数,例如: ``` * * * * * /path/to/your/script.sh arg1 arg2 ``` 这样就可以在每分钟执行一次 script.sh 脚本,并传递两个参数 arg1 和 arg2。 希望这个回答能够帮到你! ### 回答2: 在Linux中,我们可以使用计划任务执行shell脚本计划任务是一种自动化执行任务的方式,它可以在指定的时间间隔内定期运行脚本。 要使用计划任务执行shell脚本,我们可以使用crontab命令编辑cron表。Cron表是一个用于设置计划任务的文件,它包含了要执行的命令以及执行的时间。 首先,我们可以通过运行"crontab -e"命令来编辑cron表。然后,我们可以添加一条新的记录,指定我们要执行shell脚本执行的时间。 例如,如果我们希望每天在上午8执行一个名为"myscript.sh"的脚本,我们可以在cron表中添加以下内容: 0 8 * * * /path/to/myscript.sh 在这个例子中,0 8 * * *代表了每天的8。"/path/to/myscript.sh"是我们脚本的完整路径。 保存并退出cron表后,计划任务将会自动执行我们指定的脚本。我们可以使用"crontab -l"命令来列出当前的计划任务。 此外,我们还可以通过crontab命令的其他选项来调整计划任务执行频率和时间间隔。比如,我们可以使用"crontab -r"命令来删除现有的计划任务,使用"crontab -l"命令来列出当前的计划任务,以及使用"crontab -u"命令来编辑其他用户的计划任务。 总而言之,通过使用crontab命令编辑cron表,我们可以方便地执行定时任务的shell脚本。这为我们自动化和定期执行一些重复性任务提供了便利。 ### 回答3: Linux计划任务是一种用于在特定时间或在特定条件下自动执行任务的功能。通过使用cron工具,我们可以定期执行shell脚本并实现各种自动化操作。 要在Linux中安排一个计划任务执行shell脚本,我们需要遵循以下步骤: 1. 创建一个包含我们要执行shell脚本的文件。我们可以使用任何文本编辑器来编写shell脚本,并确保在文件的开头添加#!/bin/bash以指定我们要使用的shell。 2. 保存shell脚本,并确保我们具有执行权限。使用chmod命令,我们可以为脚本文件分配可执行权限。例如,我们可以运行chmod +x script.sh命令来赋予script.sh脚本执行权限。 3. 打开计划任务文件。Linux计划任务使用crontab命令来访问并编辑计划任务。我们可以通过运行crontab -e命令来打开计划任务文件。 4. 编辑计划任务文件。计划任务文件是一个cron工具使用的文本文件。每一行代表一个计划任务的定义。每个计划任务定义行由五个时间字段和一个命令字段组成。每个时间字段定义了任务执行的周期和时间。命令字段包含要在定期运行时执行的命令。我们可以在文件的末尾添加一个新的计划任务定义行。 5. 保存和退出计划任务文件。编辑完成后,我们可以保存并退出计划任务文件。使用Ctrl + X快捷键,然后输入Y并按下Enter来保存文件。 计划任务将在下一个预定的时间执行我们的shell脚本。我们可以使用crontab命令的其他选项,如-l来列出当前的计划任务,-r来删除所有计划任务等。 这样,我们就成功地在Linux中安排了一个计划任务执行shell脚本。通过定期运行shell脚本,我们可以自动执行各种操作,如备份数据、定期清理临时文件等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值