以下是一个可能的解决方案:

#!/bin/bash

# 设置 server 酱的 key
SERVER_KEY="your_server_key_here"

while true; do
  # 查找 /root 目录下的符合条件的文件夹
  FOLDER=$(find /root -type d -name "*ds_upload.log*" -exec du -sh {} + | awk '$1 ~ /G/ && $1+0 > 50 {print $2; exit}')

  if [ -n "$FOLDER" ]; then
    # 如果找到符合条件的文件夹,发送通知
    MESSAGE="文件夹 $FOLDER 的大小超过50G,请及时处理!"
    curl -sS "https://sc.ftqq.com/$SERVER_KEY.send?text=$MESSAGE"
  fi

  # 等待6小时后再继续查找
  sleep 6h
done

解释:

首先,我们定义了一个 SERVER_KEY 变量,用于存储 server 酱的 key。这个 key 可以在 server 酱的网站上申请,用于发送微信通知。

然后,我们使用一个无限循环来反复执行查找操作。每次循环中,我们使用 find 命令查找 /root 目录下符合条件的文件夹。这个命令会递归查找 /root 目录下所有的文件夹,并在其中查找名字中包含 ds_upload.log 的文件夹。在找到符合条件的文件夹后,我们使用 du 命令计算它的大小,并使用 awk 进行筛选,只保留大小超过 50GB 的文件夹。最终,我们得到一个变量 FOLDER,它存储了找到的符合条件的文件夹的路径。

如果 FOLDER 不为空,说明我们找到了符合条件的文件夹,我们就使用 curl 命令向 server 酱发送一个微信通知,包含一条提示信息。这个命令会向 server 酱的接口发送一个 GET 请求,其中包含了我们定义的 MESSAGE 变量。server 酱会收到这个请求后,会将这个信息发送到我们绑定的微信账号上。

最后,我们使用 sleep 命令让脚本等待 6 小时后再继续执行下一轮查找。这样就实现了每隔 6 小时查找一次 /root 目录下符合条件的文件夹,并在需要的时候发送微信通知的功能。

假设你现在是一个 shell 专家你帮我写一个 shell 脚本要求如下每隔6小时就寻找 root目录下面的文件找到目录下面包含ds_uploadlog的文件夹如果这个文件夹的大小超过50G就使用server酱发送通知

原文地址: https://www.cveoy.top/t/topic/bghm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录