linux定时每周执行shell,利用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.txt1

2

3

4

5

6

监控脚本的内容

[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)个"1

2

3

4

5

6

7

8

9

10

实验结果

[root@openstack ~]# cat test.txt

cpu的15分钟平均负载是0.14

剩余内存是4.8G

磁盘根分区剩余容量是38G

账户总数是40个

当前开启的进程数量是206个

当前登录的用户数量是1个

总共安装的软件包数量是813个1

2

3

4

5

6

7

8

验证

添加一个用户

[root@openstack ~]# useradd test1

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

[root@openstack ~]# cat test.txt

cpu的15分钟平均负载是0.13

剩余内存是4.8G

磁盘根分区剩余容量是38G

账户总数是41个

当前开启的进程数量是205个

当前登录的用户数量是1个

总共安装的软件包数量是813个1

2

3

4

5

6

7

8

清除计划任务

[root@openstack ~]# crontab -r

[root@openstack ~]# crontab -l

no crontab for root1

2

3

文章来源: blog.csdn.net,作者:锐^_^,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/ring__wang/article/details/111660768

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值