本地编译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 会自动编译,并记录日志。

评论

此博客中的热门博文

使用 OpenWrt 23.05.5 官网源码编译固件 创建日期:2023/04/05 修改日期:2024/10/27

OpenWrt作为旁路由配置Wireguard 实现内网穿透

yt-dlp详细使用教程参考,其中下载播放列表有效