Linux下监控某个目录占用磁盘大小变化

bash脚本:

代码实现:

#!/bin/bash

# 设置要监控的目录
DIR="/path/to/directory"

# 设置日志文件路径
LOGFILE="/var/log/dirusage.log"

# 设置监控间隔(单位为秒)
INTERVAL=60

# 循环监控目录使用情况
while true
do
    # 获取当前时间
    TIMESTAMP=`date +"%Y-%m-%d %H:%M:%S"`

    # 获取目录使用情况
    DIRUSAGE=`du -h $DIR`

    # 将结果写入日志文件
    echo "$TIMESTAMP $DIRUSAGE" >> $LOGFILE

    # 等待指定的时间
    sleep $INTERVAL
done

该脚本使用了 du 命令来获取指定目录的使用情况,并将结果写入日志文件。脚本使用了一个死循环来持续监控目录使用情况,并将结果写入日志文件,直到脚本被手动停止。可以使用 crontab 将脚本设置为定时任务,定期执行脚本以持续监控指定目录的磁盘使用情况。

定时任务创建:

要创建 crontab 文件,可以使用 crontab -e 命令来编辑当前用户的 crontab 文件。执行这个命令后,会打开一个文本编辑器,其中包含了当前用户的定时任务列表。如果是第一次编辑 crontab 文件,这个文件可能是空的。

你可以在这个文件中添加新的定时任务,每个任务占用一行。每行的格式如下:

* * * * * command-to-be-executed

这个格式中,每个星号 * 代表一个时间单位。依次代表了分钟、小时、日、月、周几。例如,* * * * * 表示每分钟执行一次。如果想要每小时执行一次,则可以使用 0 * * * *,其中 0 代表了小时的第 0 分钟。

command-to-be-executed 位置填写要执行的命令或脚本。需要注意的是,在 crontab 中执行的命令和脚本,需要使用绝对路径或者设置好环境变量,否则可能会执行失败。

例如,要在每天的凌晨 1 点执行 /path/to/my/script.sh 脚本,可以添加如下一行到 crontab 文件中:

0 1 * * * /path/to/my/script.sh

编辑完 crontab 文件后,保存并退出编辑器即可。cron 将自动读取并执行 crontab 中的定时任务。

需要注意的是,每个用户都有自己的 crontab 文件。如果你想为另一个用户创建 crontab 文件,可以使用 crontab -u username -e 命令,其中 username 代表了目标用户的用户名。执行这个命令后,会打开目标用户的 crontab 文件,你可以像编辑自己的 crontab 文件一样编辑它。

查看定时任务列表:

crontab -l

补充:

crontab命令:

crontab命令用于创建、修改、删除和查看定时计划任务。每个用户可以使用crontab命令创建自己的定时任务计划,生成的定时计划文件将以用户的账户名命名。

定时计划任务文件由每行命令组成,每行有6个字段,由空格或制表符分隔。前5个字段表示运行任务的时间,最后一个字段是任务的命令。

前五个字段的含义如下:

分钟:值为0-59

小时:值为0-23

日期:值为1-31

月份:值为1-12

星期:值为0-6

在这五个字段中,可以使用以下描述的特殊字符:

*:匹配所有可能的值

-:定义一个范围:比如 0 2 * * 1-5 表示每周一到每周五的凌晨两点

/:表示建个多少时间,比如 */5 * * * * 表示每五分钟

,:表示或的含义 如 0 0,6,12 * * * 表示每天的0点 6点 12点

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小印z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值