Openwrt编译dl目录增量(差异)备份shell脚本openwrt源码,dl库下载及openwrt小白编译

2022-03-15
0评论
/
872阅读
爱搜啊

openwrt小白编译教程

openwrt的dl目录下载多费事我就不说了,但是每次更新后,都全部打包一遍,浪费时间也浪费空间。

从零开始编译OpenWRT(LEDE)固件——4.固件编译自定义软件包编译固件添加插件,这是从零开始编译openwrt固件的教程,编译前下载好DL库文件可以大大缩短编译时间

写了sh脚本,方便增量备份。

dl.zip文件下载连接在文末。

*首次使用前,把“openwrt路径”和“旧的dl.zip文件路径”改成你的

#!/bin/bash
# Date:2022/03/12
#查看dl.zip和lede/dl/文件夹,包的差异
#并自动复制打包
datetime=`date +"%Y%m%d"`
## openwrt的主目录,修改成你自己openwrt(lede)的dl路径
openwrt_home=~/lede/dl/
## 打包好旧的dl.zip文件路径
old_dl_zip=~/dl.zip
## 当前备份shell脚本所在目录,不用改,自动获取sh文件自己所在目录
sh_pwd=`pwd`
#echo ${sh_pwd}
## 新建目录
if [ ! -d ~/dl ];then
mkdir -p ${sh_pwd}/dl/
fi
##新建last_bak_pkg_lists.txt文件
if [ ! -f last_bak_pkg_lists.txt ];then
echo " " >> last_bak_pkg_lists.txt
fi
##新建bak_pkg-list.txt文件
if [ ! -f bak_pkg-list.txt ];then
echo " " >> bak_pkg-list.txt
fi
## 列出本级当前openwrt(lede)/dl/目录文件
ls -1 ${openwrt_home} >current_dl_lists.txt
## 列出老的dl.zip包文件名
unzip -v ${old_dl_zip} |awk -F'/' '{print $2}' | grep -vE "^$" > old_dl_zip_lists.txt
## 列出dl.zip包里目录内容,对比后,差异放入ok.txt
#unzip -v dl.zip |awk -F'/' '{print $2}' |grep -v "`cat 2dl.txt`" <-- 错误的过滤顺序
cat current_dl_lists.txt| grep -v "`cat old_dl_zip_lists.txt`"|grep -v "`cat last_bak_pkg_lists.txt`"| grep -vE "^$" > bak_pkg-list.txt
## 备份列表空,则退出
num_list=`wc -l bak_pkg-list.txt| awk '{print $1}'`
if [ ${num_list} -eq 0 ];then
echo ""
echo "[ info ] Back list is null . wc -l bak_pkg-list.txt = ${num_list}"
echo ""
exit
fi
## 备份新包
cd ${openwrt_home}
#pwd
echo "[ info ] Begin copy 'bak_pkg-list.txt'"
for file in `cat ${sh_pwd}/bak_pkg-list.txt`
do
cp -a ${file} ${sh_pwd}/dl/
done
##切换回sh文件所在目录
cd ${sh_pwd}
pwd
##打包
zip -r dl_${datetime}.zip dl/
## 本次备份过的列表追加到上一次列表中
## 防止重复备份
cat ${sh_pwd}/bak_pkg-list.txt >> ${sh_pwd}/last_bak_pkg_lists.txt
## 记录备份列表日期
mv bak_pkg-list.txt dl_${datetime}.zip_lists.txt
mv old_dl_zip_lists.txt dl.zip_lists.txt
## 清理已经备份的临时dl文件夹(不是你openwrt(lede)目录的dl文件夹)
rm -rf dl/
echo ""
echo "[ info ] Backup ZIP file name : dl_${datetime}.zip"
echo "[ info ] Backup ZIP lists log file name : dl_${datetime}.zip_lists.txt"
echo ""
echo "[ info ] Backup 'dl' pkg done."
echo ""

dl.zip库文件下载地址

链接:https://pan.baidu.com/s/16aDNkl7-bvAuLWqh_K_l-g?pwd=rcgk提取码:rcgk


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2022-03-15发布