生成备份文件时所使用的脚本中调用的命令为sysgrade

local image_tmp   = "/tmp/firmware.img"

local backup_cmd  = "sysupgrade --create-backup - 2>/dev/null"

local fsysup = "openwrt-ar71xx-generic-ap143-16M-squashfs-sysupgrade.bin"

local fwname = "firmware.tar.gz"
   local image_tmp_gz   = "/tmp/"..fwname

最后将文件压缩为 backup-hostname-date.tar.gz    (eg:  backup-openwrt-2016-01-09.tar.gz)

luci.sys.exec("cd /tmp; tar -zxvf "..fwname.."; mv "..fsysup.." "..image_tmp.."; rm "..image_tmp_gz)

其中压缩文件.tar.gz中包含的内容有:  lib/upgrade/keep.d/ 目录下文件中所有的内容以及  etc/sysupgrade.conf中包含的内容

主要有:

root@hbg:/# cd lib/upgrade/keep.d/
root@hbg:/lib/upgrade/keep.d# ls
base-files            uboot-envtools
base-files-essential  uhttpd
root@hbg:/lib/upgrade/keep.d# cat base-files
/etc/config/            --config目录下所有文件
/etc/dropbear/       --dropbear目录下所有文件
/etc/crontabs/        --crontabs目录下所有文件
root@hbg:/lib/upgrade/keep.d# cat base-files-essential   
# Essential files that will be always kept
/etc/hosts              --etc目录下的这些文件
/etc/inittab
/etc/group
/etc/passwd
/etc/profile
/etc/shadow
/etc/shells
/etc/sysctl.conf
/etc/rc.local
root@hbg:/lib/upgrade/keep.d# cat uboot-envtools
/etc/config/ubootenv    --uboot相关文件
/etc/fw_env.config
root@hbg:/lib/upgrade/keep.d# cat uhttpd
/etc/uhttpd.crt                  --uhttpd相关文件
/etc/uhttpd.key

如果还想备份其他文件,可以在/etc目录下的sysupgrade.conf中添加相应目录或文件。

将备份的压缩文件解压后可以看到

hbg@root:~/test1214/A3$ tar zxvf backup-openwrt-2016-01-19.tar.gz
etc/config/account
etc/config/checkrssi
etc/config/dropbear
etc/config/firewall
etc/config/link.log
etc/config/lldpd
etc/config/luci
etc/config/mcs
etc/config/network
etc/config/snmpd
etc/config/snmpdata
etc/config/system
etc/config/ubootenv
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/config/wonoff
etc/crontabs/cron.update
etc/crontabs/root
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/fw_env.config
etc/group
etc/hosts
etc/inittab
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
etc/sysupgrade.conf
etc/uhttpd.crt
etc/uhttpd.key

如果在sysupgrade.conf中添加 /overlay目录则:

root@hbg:/etc# cat sysupgrade.conf
## This file contains files and directories that should
## be preserved during an upgrade.

# /etc/example.conf
# /etc/openvpn/
/overlay     --将overlay目录下的文件压缩到备份中

解压备份文件可得

hbg@root:~/test1214/A3$ tar zxvf backup-openwrt-2016-01-19.tar.gz
etc/config/account
etc/config/checkrssi
etc/config/dropbear
etc/config/firewall
etc/config/link.log
etc/config/lldpd
etc/config/luci
etc/config/mcs
etc/config/network
etc/config/snmpd
etc/config/snmpdata
etc/config/system
etc/config/ubootenv
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/config/wonoff
etc/crontabs/cron.update
etc/crontabs/root
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/fw_env.config
etc/group
etc/hosts
etc/inittab
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
etc/sysupgrade.conf
etc/uhttpd.crt
etc/uhttpd.key
overlay/etc/config/account
overlay/etc/config/checkrssi
overlay/etc/config/dropbear
overlay/etc/config/firewall
overlay/etc/config/link.log
overlay/etc/config/lldpd
overlay/etc/config/luci
overlay/etc/config/mcs
overlay/etc/config/network
overlay/etc/config/snmpd
overlay/etc/config/snmpdata
overlay/etc/config/system
overlay/etc/config/ubootenv
overlay/etc/config/ucitrack
overlay/etc/config/uhttpd
overlay/etc/config/wireless
overlay/etc/config/wonoff
overlay/etc/crontabs/cron.update
overlay/etc/crontabs/root
overlay/etc/dropbear/dropbear_dss_host_key
overlay/etc/dropbear/dropbear_rsa_host_key
overlay/etc/fw_env.config
overlay/etc/group
overlay/etc/hosts
overlay/etc/inittab
overlay/etc/passwd
overlay/etc/profile
overlay/etc/rc.local
overlay/etc/shadow
overlay/etc/shells
overlay/etc/sysctl.conf
overlay/etc/sysupgrade.conf
overlay/etc/uhttpd.crt
overlay/etc/uhttpd.key
overlay/root/logs
overlay/usr/lib/snmp/snmpd.conf
etc/uhttpd.key
etc/uhttpd.crt

openwrt生成备份文件的更多相关文章

  1. mysqldump定时任务生成备份文件内容为空解决方法

    1问题:写好了一个mysqldump备份脚本(如图)直接执行可以正常生成备份文件,但在用crontab运行时却生成内容为空 2原因分析:由于mysqldump存在于全局环境变量mysql的bin下面, ...

  2. mydumper 快速高效备份mysql,按照表生成备份文件,快速恢复

    Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具.开发人员主要来自MySQL,Facebook,SkySQL公司.目前已经在一些线上使用了Mydumper. Mydum ...

  3. 如何为openwrt生成补丁

    答:使用quilt工具 步骤如下: 1. 配置quilt $cat> ~/.quiltrc <<EOF QUILT_DIFF_ARGS="--no-timestamps - ...

  4. openwrt生成的交叉编译器在哪里

    答:在staging_dir目录下,示例如下: 编译一个arm64架构所生成的编译器在staging_dir/toolchain-aarch64_generic_gcc-7.4.0_musl/bin/ ...

  5. 配置gVim使之不自动生成备份文件

    设置 _vimrc set nobacku   1 set nobacku 或指定一个其备份的地方: set backupdir=D:/Program/ Files/Vim /tmp 1 1   1 ...

  6. openwrt生成的镜像放在哪里

    答:1.打包好之后是放在build_dir/target-$(cross-compile-toolchan-name)/linux-$(chip-series-name)_$(chip-arch)/t ...

  7. openwrt: sysupgrade

    sysupgrade 用法: sysupgrade [...] sysupgrade [-q] [-i] 升级选项: -d 重启前等待 delay 秒 -f 从 .tar.gz (文件或链接) 中恢复 ...

  8. 1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库

    参照 https://help.aliyun.com/knowledge_detail/41817.html 恢复云数据库MySQL的备份文件到自建数据库 更新时间:2017-07-27 14:52: ...

  9. 编译树莓派2代B型OpenWrt固件实现无线路由器及nodogsplash认证功能

    最终功能: 无线路由器的主要功能,网口WAN接入,USB无线网卡AP热点输出,连上wifi之后跳转到认证页面,点击认证方可上网,有效时间10分钟,认证成功之后自动访问指定网址. 文章结尾有编译好的刷机 ...

随机推荐

  1. C语言课程设计 Win32应用程序

    问题描述: 请设计一个职工信息管理程序,以方便人事部门对本单位职工的管理,该程序应该具有以下功 能: (1)能从键盘输入职工的信息 . (2)给定职工号,显示职工的信息. (3)给定工作部门,显示该部 ...

  2. memcahced缓存特点

    1.key-value数据结构 2.所有数据保存在内存中 3.可以分布式集群 4.处理并发的机制是libevent事件机制 5.当内容容量达到指定值后,就基于LRU(Least Recently Us ...

  3. 最近一段时间get到的小知识(c++的)

    (1)查看一个程序运行的时间 int main() { clock_t start,end; start=clock(); ... end=clock(); cout<<"Run ...

  4. 【Time系列四】查询各月份的日历

    荒废了两个星期没学java了,今天一心想突破"日历查询"这个小程序.先用比较简单的python实现下. 无奈天资愚钝,想了一个上午.最后卡在了日期排列的问题上,只好去参考下别人的代 ...

  5. git上传报错的解决方案

    刚创建的github版本库,在push代码时出错:$ git push -u origin masterTo git@github.com:******/Demo.git ! [rejected] m ...

  6. [SQL基础教程] 2-2 算数运算符和比较运算符

    [SQL基础教程] 2-2 算数运算符和比较运算符 算数运算符 四则运算 运算符 含义 + - * / SELECT col_1*2 AS col_new FROM table; 注意 所有包含NUL ...

  7. C# 语言规范_版本5.0 (第8章 语句)

    1. 语句 C# 提供各种语句.使用过 C 和 C++ 编程的开发人员熟悉其中大多数语句. statement: labeled-statement declaration-statement emb ...

  8. java 的对象拷贝(有深浅拷贝两种方式,深拷贝实现的两种方式(逐层实现cloneable接口,序列化的方式来实现))

    Java提高篇--对象克隆(复制)(转自:http://www.cnblogs.com/Qian123/p/5710533.html#_label0)   阅读目录 为什么要克隆? 如何实现克隆 浅克 ...

  9. Java之JSP基础语法

    1.JSP页面元素简介及page指令     2.JSP注释,3种不同注释 <!--  我是HTML注释,在客户端可见 --> <%--我是JSP注释,在客户端不可见 --%> ...

  10. NYOJ-47 过河问题(贪心)

    过河问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:5   描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的 ...