本地编译openwrt ,自动执行。
OpenWrt(lede)自动编译脚本,它将在每周六 18:00 运行,并将编译日志保存在 `/home/user/openwrt_build.log`。 --
### **脚本内容 (`/home/user/build_openwrt.sh`)**
#!/bin/bash
# 设置环境变量
SOURCE_DIR="/home/user/openwrt"
LOG_FILE="/home/user/openwrt_build.log"
# 记录开始时间
echo "===============================" > $LOG_FILE
echo "🏗️ OpenWrt 编译开始: $(date)" >> $LOG_FILE
echo "===============================" >> $LOG_FILE
# 进入源码目录
cd $SOURCE_DIR || { echo "❌ 目录不存在: $SOURCE_DIR" >> $LOG_FILE; exit 1; }
# 更新源码
echo "🔄 更新源码..." >> $LOG_FILE
git pull >> $LOG_FILE 2>&1
# 更新和安装 feeds
echo "📦 更新和安装 feeds..." >> $LOG_FILE
./scripts/feeds update -a >> $LOG_FILE 2>&1
./scripts/feeds install -a >> $LOG_FILE 2>&1
# 生成默认配置
echo "⚙️ 生成默认配置..." >> $LOG_FILE
make defconfig >> $LOG_FILE 2>&1
# 预下载编译所需的文件
echo "📥 下载编译依赖..." >> $LOG_FILE
make download -j8 >> $LOG_FILE 2>&1
# 开始编译
echo "🚀 开始编译..." >> $LOG_FILE
make V=s -j$(nproc) >> $LOG_FILE 2>&1
# 记录结束时间
echo "===============================" >> $LOG_FILE
echo "✅ OpenWrt 编译完成: $(date)" >> $LOG_FILE
echo "===============================" >> $LOG_FILE
---
### **赋予脚本执行权限**
chmod +x /home/user/build_openwrt.sh
---
### **添加 `cron` 任务**
执行以下命令,编辑 `crontab`:
crontab -e
然后添加以下行:
0 18 * * 6 /home/user/build_openwrt.sh
表示**每周六 18:00** 自动执行脚本。
---
### **重启 `cron` 服务**
确保 `cron` 服务运行:
systemctl restart cron # 适用于 Debian/Ubuntu
systemctl restart crond # 适用于 CentOS/RHEL
---
### **检查定时任务是否生效**
crontab -l
查看 `/home/user/openwrt_build.log` 确认编译日志:
tail -f /home/user/openwrt_build.log
这样,每周六 18:00 OpenWrt 会自动编译,并记录日志。
评论
发表评论