运行bash脚本,访问网页,生成日志记录

本文介绍了一个使用Bash编写的脚本,该脚本能够随机地向预设的主机列表发送HTTP请求,并以固定的间隔重复此过程。演示了如何通过脚本在不同主机上获取特定的HTML页面。

1.编写bash脚本

#!/bin/bash  
step=1 #间隔的秒数,不能大于60  

host_list=("localhost" "192.168.75.137" "master1" "wugenqiang.master")
while [ 1 ]
do
    num=$(((RANDOM%7)+1))
    seq=$(((RANDOM%4)))
    url="http://"${host_list[$seq]}"/"$num".html";
    echo " `date +%Y-%m-%d\ %H:%M:%S` get $url"

    #curl http://192.168.75.137/1.html #调用链接
    curl -s $url > /dev/null

    sleep $step
done

2.演示操作结果展示

[root@master1 conf]# vim test_log_records_add.sh 
[root@master1 conf]# ./test_log_records_add.sh 
 2018-07-31 20:49:05 get http://localhost/2.html
 2018-07-31 20:49:06 get http://master1/7.html
 2018-07-31 20:49:07 get http://master1/1.html
 2018-07-31 20:49:08 get http://localhost/7.html
 2018-07-31 20:49:09 get http://wugenqiang.master/6.html
 2018-07-31 20:49:10 get http://192.168.75.137/7.html
 2018-07-31 20:49:11 get http://master1/4.html
 2018-07-31 20:49:12 get http://localhost/7.html

 

### 如何在 Bash 脚本中按时间生成日志文件 要在 Bash 脚本中按照时间生成日志文件,可以通过动态创建带有时间戳的日志文件名实现。以下是具体方法: #### 动态命名日志文件 可以利用 `date` 命令获取当前日期和时间,并将其作为日志文件的一部分名称。例如: ```bash log_file="script_log_$(date +%Y%m%d_%H%M%S).log" ``` 此命令会生成类似于 `script_log_20231005_143045.log` 的文件名[^1]。 #### 将输出重定向到日志文件 为了将脚本中的标准输出 (stdout) 和错误输出 (stderr) 记录到该日志文件中,可以使用以下方式: ```bash exec > "$log_file" 2>&1 ``` 这行代码的作用是将所有的 stdout 和 stderr 输出重定向到 `$log_file` 中[^3]。 #### 完整示例脚本 下面是一个完整的示例脚本,展示如何按时间生成日志文件并记录脚本的执行情况: ```bash #!/bin/bash # 设置日志文件名,带时间戳 log_file="script_log_$(date +%Y%m%d_%H%M%S).log" # 开启日志记录 exec > "$log_file" 2>&1 # 打印开始标志 echo "===== SCRIPT EXECUTION STARTED AT $(date) =====" # 示例操作:循环访问随机 URL 并记录 step=1 # 时间间隔(秒) host_list=("localhost" "example.com" "testserver") while true; do num=$(( RANDOM % 7 + 1 )) seq=$(( RANDOM % ${#host_list[@]} )) url="http://${host_list[$seq]}/$num.html" echo "$(date '+%Y-%m-%d %H:%M:%S') Fetching $url" curl -s "$url" > /dev/null sleep $step done # 结束标志 echo "===== SCRIPT EXECUTION ENDED AT $(date) =====" ``` 在此脚本中: - 日志文件名为 `script_log_<timestamp>.log`。 - 每次运行时都会生成一个新的日志文件。 - 使用 `date` 命令记录每次请求的时间戳[^4]。 #### 注意事项 如果需要更复杂的日志管理功能(如定期清理旧日志),可以结合 `find` 或其他工具实现自动化维护[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WuGenQiang

谢谢你的喜欢

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

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

打赏作者

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

抵扣说明:

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

余额充值