生成备份文件时所使用的脚本中调用的命令为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. Leetcode-34-Search for a Range-(Medium)

    这道题借助二分查找算法来查找目标值的index 然后向前和向后分别搜索起始边界 注意开始排除异常值优化速度 #!/usr/local/bin/python3 # -*- coding: utf-8 - ...

  2. CountDownLatch使用详解

    正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中,countdownlatch的概念是一 ...

  3. class.forname()方法的学习(转)

    Class.forName(xxx.xx.xx) 返回的是一个类 首先你要明白在java里面任何class都要装载在虚拟机上才能运行.这句话就是装载类用的(和new 不一样,要分清楚). 至于什么时候 ...

  4. ASP.NET用户控件操作ASPX页面

    定义一个不含数据的事件处理方法 用户控件 public event EventHandler Click; protected void Button1_Click(object sender, Ev ...

  5. [Q]自定义纸张大小

    问:当打印机纸张列表里没有符合要求的纸张大小,例如如何打印加长图?答:当打印非标准图框时,你可能在图纸列表里找不到想要纸幅.你需要自己新建你需要的纸幅,以pdfFactory虚拟打印机为例(其它打印机 ...

  6. Java获取IP

    public static String getIpAddr(HttpServletRequest request) {        String ip = request.getHeader(&q ...

  7. Java与JavaScript中判断两字符串是否相等的区别

    JavaScript是一种常用的脚本语言,这也决定了其相对于其他编程语言显得并不是很规范.在JavaScript中判断两字符串是否相等 直接用==,这与C++里的String类一样.而Java里的等号 ...

  8. 2px边框,4分之1内边框实现选中功能实现

    有时候我们要实现如下选中效果: 我给出一种解决办法: 首先选中的时候,加一个class(active),未选中的全部加一个class(inactive),外层给一个1px border,每个选项给一个 ...

  9. iOS 富文本点击事件

    #import "ViewController.h" #define font 17 @interface ViewController ()<UITextViewDeleg ...

  10. CentOS 下网络报错 Device eth0 does not seem to be present

    在执行network服务重启后,出现Device eth0 does not seem to be present  问题,主要是因为系统之前有多个网卡配置,和配置文件不匹配造成的. 解决这种问题,思 ...