如何用简易Bash脚本与Crontab将公网IP写入TXT文件?
新手友好的公网IP自动记录方案(Bash脚本+Crontab)
我发现之前不少关于自动记录公网IP的方案要么没法正常工作,要么就是用了太复杂的高级代码,对没太多经验的用户不太友好。所以自己折腾了一套简单易上手的方案,用基础的Bash脚本加Crontab就能实现,分享给大家:
步骤1:创建记录IP的脚本
先创建一个脚本文件(比如叫record_ip.sh),把下面的内容复制进去:
# 记录当前日期时间到日志文件 date >> /home/pi/Myideas/energy/ipaddrs.txt # 获取公网IP并追加到日志 wget -q -O - checkip.icanhazip.com | grep -Po "[\d\.]+" >> ipaddrs.txt # 添加分隔线,让日志更易读 echo "------------------------" >> ipaddrs.txt
代码说明:
date >> /home/pi/Myideas/energy/ipaddrs.txt:把当前的日期和时间追加到指定的文本文件里,帮你标记每条IP记录的时间点。wget -q -O - checkip.icanhazip.com | grep -Po "[\d\.]+" >> ipaddrs.txt:用wget静默请求IP查询服务,通过grep的正则表达式提取出纯IP地址,再追加到日志文件中。-q避免wget输出多余信息,-O -让结果输出到终端而不是保存为临时文件。- 最后一行的分隔线是可选的,只是为了让不同时间的记录之间更清晰,你可以根据需求去掉或修改。
步骤2:给脚本添加执行权限
运行下面的命令,给你的脚本加上可执行权限(替换成你实际的脚本路径):
chmod +x /home/pi/Myideas/energy/record_ip.sh
步骤3:设置Crontab自动执行
如果你想让脚本定期自动运行(比如每天凌晨2点记录一次IP),可以用Crontab来实现:
- 打开Crontab编辑器:
crontab -e
- 在文件末尾添加一行(替换成你的脚本路径):
0 2 * * * /home/pi/Myideas/energy/record_ip.sh
- 保存并退出编辑器即可。
小贴士:Crontab的时间格式是
分 时 日 月 周,上面的0 2 * * *代表每天凌晨2点0分执行脚本。如果需要调整执行频率,比如每6小时一次,可以写成0 */6 * * *。
前置检查
确保存放日志的目录存在,如果不存在的话先创建:
mkdir -p /home/pi/Myideas/energy/
这样就完成啦!这个方案没有复杂的依赖,都是Linux系统自带的工具,新手也能轻松上手。
内容的提问来源于stack exchange,提问作者vigilance wx
相关产品推荐
相关产品推荐

