Aug 14
网上的都要用到 find -mtime,这个参数默认的 busybox 是不支持的,当然你可以下 findunti ,我这个脚本无需额外的程序支持:
#!/bin/sh # optware backup # Sun Feb 19 00:34:42 CST 2012 # by Punk keep=3 #保留历史备份数 backup_source="opt" #需要备份的目录,不可有/开头 backup_dest="/cifs2/hdtv/!opt_bak/" #备份文件存储目录 date=`date +%Y-%m-%d` hostname=$(hostname -s) prename="$hostname-optware" filename="$prename-$date.tgz" delete_old() { echo Deleting old backup of Optware... totalline=`find "$backup_dest" -name "$prename*.tgz" | wc -l` if [ $totalline -ge $keep ];then dell=$(($totalline-$keep)) find "$backup_dest" -name "$prename-*.tgz" | sort | head -n $dell | xargs rm -rf fi echo Deleting old backup of Optware Finished! } backup() { echo "Backing Up Your Optware System..." tar czf $backup_dest/$filename -C / $backup_source echo "Optware Backup Finished!" } backup delete_old
May 29
2015.07.03 更新,更好的支持 Tomato ARM 版本:
#!/bin/sh #USE AT YOUR OWN RISK. #THIS SCRIPT DOES NOT COME WITH ANY WARRANTY WHATSOEVER. # #Backs up selected nvram variables in "nvram export --set" format. # #Correctly handles multi-line entries. # #Thanks to ryzhov_al for basic approach. # #Should work equally well with both MIPS and ARM builds. # #Looks for a list of items to export in $etc/scriptname.ini #OR enter items to grep for below. # #The items list is a list of regular expressions to match against the #nvram variable names. # #Script assumes all entries are at beginning of line(prefixed with ^). # #Leave items list blank to backup up all of nvram. Resulting in essentially #the same output as MIPS "nvram export --set" # #The items list below is only intended as example and is not complete or #comprehensive. Customize for your own use. # #Edit list below if not using .ini file, it is ignored if .ini file is found items=' DSCP_ atm_overhead cifs[1-2] ctf_ ct_ dhcp_ dhcpd_ ddnsx[0-2] dnsmasq_ dns_ https_ http_enable http_lanport http_wanport http_passwd lan_hostname lan_ipaddr lan_proto modem_ipaddr ne_ new_qoslimit_ nf_ ntp_ portforward ppp_ pppoe_ qos_ qosl_ router_name rrule[0-9] cstats_ rstats_ script_ smbd_ sch_ sshd_eas sshd_forwarding sshd_motd sshd_pass sshd_port sshd_remote sshd_rport tm_ tomatoanon_ usb_ upnp_ wan_dns wan_proto wan_hostname wan_domain wan_hwaddr wan_mtu web_css web_mx wl[0-9]_security_mode wl[0-9]_ssid wl[0-9]_wpa_psk ' etc=/opt/etc base=${0##*/}; base=${base%.*} config=$etc/$base.ini #file to output - default to stdout filename="$1" curr_date=$(date +"%Y-%m-%d") if [ $# -eq 0 -o "$filename" = "" ]; then backupfile="/opt/etc/init.d/nvram_backup-${curr_date}.txt" else backupfile="/opt/etc/init.d/${filename}-${curr_date}.txt" fi grepstr=$( { [ -r $config ] && cat $config || echo "$items" ; } | sed -e 's/[t ]//g;/^$/d' | sed ':a;N;$!ba;s/n/\|^/g') { echo "#Exporting $grepstr" for item in $(nvram show 2>/dev/null | grep "^.*=" | grep "$grepstr" | grep -v "hwaddr" | awk -F= "{print $1}" | sort -u) do item_value="$(nvram get $item | sed 's!([$\"`])!\1!g'; echo nvgetwasnull)" case $item_value in nvgetwasnull) ;; *) echo "nvram set ${item}=\"${item_value% nvgetwasnull}\"" ;; esac done }>"$backupfile"
比较完美的解决了多行文本框内容的备份,例如脚本等处。
#!/bin/sh # #USE AT YOUR OWN RISK. #THIS SCRIPT DOES NOT COME WITH ANY WARRANTY WHATSOEVER. # #file to output backupfile='/mnt/optware/opt/etc/init.d/nvram_restore.sh' #Enter strings to grep for here. # #Use heredocs to build grep from one entry per #line for ease of maintenance. # #Could easily be changed to read external config file. # #sed is not my best skill - there may well be cleaner syntax, and #admittedly this is some quick cut and paste from another script grepstr=$(cat << EOF | sed -e 's/[t ]//g;/^$/d' | sed ':a;N;$!ba;s/n/\|/g' ^dhcp_ ^dhcpd_ ^ddnsx ^dnsmasq ^dns_ ^https_ ^http_passwd ^lan_hostname ^lan_ipaddr ^wan_dns ^wan_proto ^wan_hostname ^wan_domain ^wan_hwaddr ^router_name ^modem_ipaddr ^rrule1 ^cstats_ ^rstats_ ^qos ^new_qoslimit_ ^ctf_ ^ct_ ^bt_ ^ne_ ^nf_ ^ntp_ ^smbd_ ^usb_ ^upnp_ ^script_ ^wl[0-9]_security_mode ^wl[0-9]_ssid ^wl[0-9]_wpa_psk ^cifs[0-9] EOF ) #uncomment next line if you want to see what above creates #echo $grepstr [ -e $backupfile ] && rm $backupfile echo "echo Restoring NVRAM settings" > $backupfile echo "echo Note: This will overwrite your current NVRAM settings in NVRAM," >> $backupfile echo "echo but they will not be permanent unless you do a 'nvram commit'" >> $backupfile echo "echo Restore NVRAM rules..." >> $backupfile echo Exporting NVRAM rules to $backupfile #Below mostly from ryzhov_al #sed to escape chars is mine, may not be complete. for item in $(nvram show | grep "$grepstr" | awk -F= "{print $1}") do item_value=$(nvram get ${item} | sed 's!([$\"`])!\1!g') echo "nvram set ${item}=\"$item_value\"" >> $backupfile done echo "echo Restore of NVRAM settings complete" >> $backupfile echo "echo To make them permanent, do: nvram commit" >> $backupfile chmod +x $backupfile echo NVRAM settings have been exported to $backupfile echo Now feel free to try new settings echo To restore from backup, type: $backupfile
感谢 linksysinfo 的高手们!
May 14
官方主页:
http://www.drivesnapshot.de/en/
特色:
- 备份速度极快,5.5 G 数据的 XP 系统盘只要 42 秒!用 Ghost 要 3 分钟左右。
- 单文件支持 Windows 和 DOS 以及 PE ,支持各类主流文件格式和 Raid。
- 备份系统盘无需切换到 DOS 或者 PE。
- 内置镜像文件管理器,可以提取回复任意文件和目录。
实测截图数据来源: Windows7 x64, QX9650 OC 3.6G, 系统盘(源盘)是西数的迅猛龙 WD6000HLHX 600G 万转,没有 RAID,备份盘(写盘)是希捷很老的11代,300G的,内存普通 DDR2 8G ,备份的时候 4 核 CPU 占用全部达到 85%+,看来这软件是比较吃 CPU 。
Dec 05
Product Key Explorer 是一款强大的程序密钥显示工具,可以查看电脑中已经安装的程序所使用的注册用户名、密钥或序列号,支持 Windows、Office、SQL 等超过 200 种应用程序,以及 Dungeon Siege 2, Age of Empires 3, Halo ( Halo 2) 等几十种游戏。Product Key Explorer 不但可以查看本机的序列号,同时也可以查看远程电脑中的类似信息(只要你有相应权限)。