1、下面Shell脚本每隔10分钟向文件user.txt中保存的(文件中用户名使用 空格分隔)所有用户发送一条消息,若发送失败则以“某时间向某用户发送消息失败”((如:“2022-9-4 12:30向root用户发送消息失败”)的格式保存到err.log文件中。请完善程序。
时间: 2024-03-09 21:51:23 浏览: 193
用户检测Shell脚本
好的,以下是一个简单的 Shell 脚本实现,仅供参考:
```bash
#!/bin/bash
while true
do
# 获取当前时间
timestamp=$(date +"%Y-%m-%d %H:%M")
# 遍历用户列表
for user in $(cat user.txt)
do
# 发送消息给用户
send_message $user "Hello, world!"
# 判断是否发送成功
if [ $? -ne 0 ]
then
# 发送失败,记录日志
echo "$timestamp 向 $user 用户发送消息失败" >> err.log
fi
done
# 休眠10分钟
sleep 600
done
```
这个脚本会不断循环,每隔 10 分钟向 `user.txt` 中保存的所有用户发送一条消息。如果发送失败,则在 `err.log` 文件中记录一条日志。
需要注意的是,这里的 `send_message` 函数需要根据实际情况自行实现。同时,这个脚本在运行时会一直占用 CPU,可以通过使用定时任务的方式来避免这个问题。
阅读全文