日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下简单的备份的脚本 2 【转】

發(fā)布時間:2023/12/4 linux 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下简单的备份的脚本 2 【转】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4577034

?

?之前寫過?linux下簡單的備份的腳本?, 最開始一直用著, 后來覺得有必要改進下它了, 不管是從操作方式上還是工作方式上。有這樣的想法是因為一次備份引起的。 我經(jīng)歷過磁盤損壞的痛苦, 花了1500元才勉強將數(shù)據(jù)拯救回來, 于是導致我對備份要求更加高了, 我期望盡量每周備份, 期望備份的目的地是當前系統(tǒng)的完整鏡像,也就是說我能夠從備份盤啟動,且啟動后
系統(tǒng)的操作方法以及文件和當前的一模一樣,每周我只需要增量備份當前的修改的備份盤,這樣就安全了很多。于是就有了下面的備份腳本(我不喜歡造輪子,但是在linux下沒有現(xiàn)成的適合我的)

NOTE: 當前還沒有加入自動鏡像系統(tǒng),所以如果想鏡像系統(tǒng),那么可以手動這樣操作, 準備一塊大于當前系統(tǒng)盤的移動盤,
分區(qū),注意分區(qū)的結構盡量和系統(tǒng)的一模一樣, 然后格式化,文件系統(tǒng)也盡量相同, 然后就可以備份了 備份的時候主要有些
目錄需要跳過,比如sys dev proc等等,需要跳過的目錄可以在backup程序了面設置!
這是腳本程序:

點擊(此處)折疊或打開

  • #!/bin/bash
  • # This program?is?free software;?you can redistribute it?and/or
  • # modify it under the terms of the GNU General?Public?License as
  • # published by the Free Software Foundation;?either version 2 of
  • # the License,?or?(at your?option)?any later version.
  • #?
  • # This program?is?distributed?in?the hope that it will be useful,
  • # but WITHOUT ANY WARRANTY;?without even the implied warranty of
  • # MERCHANTABILITY?or?FITNESS?FOR?A PARTICULAR PURPOSE.?See the
  • # GNU General?Public?License?for?more details.
  • # Author:?rongp
  • # email:?rongpmcu#gmail.com
  • #?Date:?2014/10/26
  • # 備份程序
  • # 特點:
  • # 主要支持unix類系統(tǒng)下, 支持符號鏈接
  • # 支持增量備份
  • # 支持網(wǎng)絡備份(由于基于rsync, 很容易加入該功能,但暫時沒加入)
  • # 文件名支持空格 但是不能出現(xiàn)含有@#@的文件名
  • # 支持備份每次的更新,方便用于人工操作失誤后的修復
  • # 支持添加規(guī)則用于剔除某些文件 格式參考rsync的PATTERN部分
  • SHELL=/bin/bash
  • backup_cfg_path=/etc
  • backup_cfg=$backup_cfg_path/backup.cfg
  • db_path=
  • db_pathname=
  • inc_path=
  • XECHO=1
  • _help()?
  • {
  • ????echo?-e?"$0 [option]\n"\
  • ????????"\tOption:\n"\
  • ????????"\t-h show this help.\n"\
  • ????????"\t-i perform the installation, and you should use this option\n"\
  • ????????"\t before using the backup to do something else.\n"\
  • ????????"\t-u perform the un-installation.\n"
  • }
  • help()?
  • {
  • ????echo?-e?"Command action\n"\
  • ????????"\th show this help.\n"\
  • ????????"\ta add any file that you want to backup to the database.\n"\
  • ????????"\td delete any file that you no longer want from the database.\n"\
  • ????????"\tb start backup.\n"\
  • ????????"\tbf assume \"yes\" as answer to all prompts and run non-interactively.\n"\
  • ????????"\tn perform a trial backup with no changes made.\n"\
  • ????????"\tp print the file record.\n"\
  • ????????"\tc do some configurations, such as, modifying the path to the\n"\
  • ????????"\t database or to the incremental backup directory.\n"\
  • ????????"\ts show the current configuration.\n"\
  • ????????"\ti perform the installation, and you should use this option\n"\
  • ????????"\t before using the backup to do something else.\n"\
  • ????????"\tu perform the un-installation.\n"\
  • ????????"\tq quit"
  • }
  • color_echo()
  • {
  • ????case?"$1"?in?
  • ????????g)
  • ????????????shift
  • ????????????echo?-e?"\033[32m"$@"\033[0m"
  • ????????;;
  • ????????gn)
  • ????????????shift
  • ????????????echo?-e?-n?"\033[32m"$@"\033[0m"
  • ????????;;
  • ????????r)
  • ????????????shift
  • ????????????echo?-e?"\033[31m"$@"\033[0m"
  • ????????;;
  • ????????y)
  • ????????????shift
  • ????????????echo?-e?"\033[33m"$@"\033[0m"
  • ????????;;
  • ????????yn)
  • ????????????shift
  • ????????????echo?-e?-n?"\033[33m"$@"\033[0m"
  • ????????;;
  • ????????*)
  • ????????????shift
  • ????????????echo $@
  • ????????;;
  • ????esac
  • }
  • XECHO()
  • {
  • ????if?[?"$XECHO"?=?1?];?then
  • ????????echo $@
  • ????fi
  • }
  • check_src_dst()
  • {
  • ????if?!?test?-e?"$1"?||?!?test?-e?"$2";?then
  • ????????color_echo r?"$1"?or?"$2"?does?not?ignore?
  • ????????return 2
  • ????fi
  • ????local src_part1=`df?"$1"?|?cut?-d?'?'?-f 1`
  • ????local src_part2=`df?"$2"?|?cut?-d?'?'?-f 1`
  • ????local nsrc_inode=`ls?-lid?"$1"?|?cut?-d?'?'?-f 1`
  • ????local ndst_inode=`ls?-lid?"$2"?|?cut?-d?'?'?-f 1`
  • ????XECHO nsrc_inode:$nsrc_inode ndst_inode:$ndst_inode
  • ????if?[?"$src_part1"?!=?"$src_part2"?];?then
  • ????????return 1
  • ????fi
  • ????if?[?"$nsrc_inode"?=?"$ndst_inode"?];?then
  • ????????????color_echo r?"$src is equivalent to $dst. ignore it!"
  • ????????????return 2
  • ????fi
  • ????if?[?!?-e $db_pathname?];?then
  • ????????return 1
  • ????fi
  • ????while?read?-r tsrc tdst tex_src;
  • ????do
  • ????????tsrc="${tsrc//@#@/ }"
  • ????????tdst="${tdst//@#@/ }"
  • ????????tex_src="${tex_src//@#@/ }"
  • ????????XECHO tsrc:"$tsrc"?tdst:"$tdst"
  • ????????osrc_inode=`ls?-lid?"$tsrc"?|?cut?-d?'?'?-f 1`
  • ????????odst_inode=`ls?-lid?"$tdst"?|?cut?-d?'?'?-f 1`
  • ????????XECHO osrc_inode:$osrc_inode odst_inode:$odst_inode
  • ????????if?[?"$nsrc_inode"?=?"$osrc_inode"?-a?"$ndst_inode"?=?"$odst_inode"?];?then
  • ????????????if?[?${1:((${#1}-1))}?=?'/'?-a ${tsrc:((${#tsrc}-1))}?!=?'/'?]?\
  • ????????????????||?[?${1:((${#1}-1))}?!=?'/'?-a ${tsrc:((${#tsrc}-1))}?=?'/'?];?then?#/home?and?/home/?is?very?
  • ????????????????echo?-n?"";
  • ????????????else
  • ????????????????return 0
  • ????????????fi
  • ????????fi
  • ????done?<?$db_pathname
  • ????return 1?
  • }
  • extract_src_dst()
  • {
  • ????XECHO?"extract src dst from $1"
  • ????src="${1%#*}"?
  • ????dst="${1#$src}"?
  • ????dst="${dst#\#}"?
  • ????XECHO?"src: $src"
  • ????XECHO?"dst: $dst"
  • ????if?[?"$src"?=?""?-o?"$dst"?=?""?];?then
  • ????????return 1
  • ????else
  • ????????return 0
  • ????fi
  • }
  • fix_path()
  • {
  • ????local srcpath="$1"
  • ????if?[?"${srcpath:0:1}"?=?'/'?];?then
  • ????????echo $srcpath?
  • ????elif?[?"${srcpath:0:2}"?=?'./'?];?then
  • ????????echo `pwd`/${srcpath:2}
  • ????else?
  • ????????echo `pwd`/$srcpath
  • ????fi
  • }
  • insert_new_item()
  • {
  • ????XECHO add item src:"$1"?dst:"$2"?exclude:"$3"
  • ????tmp1="${1// /@#@}"
  • ????tmp2="${2// /@#@}"
  • ????tmp3="${3// /@#@}"
  • ????echo?"$tmp1"?"$tmp2"?"$tmp3"?>>?$db_pathname
  • ????return $?
  • }
  • parse_item()
  • {
  • ????if?!?extract_src_dst?"$1";?then
  • ????????color_echo r?"src:$src or dst:$dst is illegal!"
  • ????????return 1
  • ????fi
  • ????src=`fix_path?"$src"`
  • ????dst=`fix_path?"$dst"`
  • ????XECHO after fixed,?src:"$src"
  • ????XECHO after fixed,?src:"$dst"
  • ????return 0
  • }
  • do_add()?
  • {
  • ????local item
  • ????
  • ????color_echo g?"Enter the mode of adding files! Some patterns are available, as follows:"
  • ????color_echo g?"eg: /home/#/tmp/ means we want to backup the whole things which "
  • ????color_echo g?"are under home directory to /tmp directory."
  • ????color_echo g?"eg: /home/#/tmp/:/etc/#/tmp/ means we want to backup the whole "
  • ????color_echo g?"things which are under the home directory and the /etc/ directory "
  • ????color_echo g?"to the /tmp directory, you can append any item with ':'."
  • ????color_echo r?"Note: /home and /home/ are quite different, because /home just means "
  • ????color_echo r?"/home itself while /home/ means the whole contents of /home."
  • ????read?-p?"Please type in file items: "?items
  • ????items="`echo "$items" | sed "s/'//g"`"
  • ????flag=0
  • ????while?[?$flag?=?0?];?
  • ????do?
  • ????????item=${items%%:*}
  • ????????items=${items#$item:}
  • ????????ex_src=""
  • ????????if?[?"$items"?=?"$item"?];?then?
  • ????????????flag=1
  • ????????fi?
  • ????????if?parse_item?"$item";?then
  • ????????????check_src_dst?"$src"?"$dst"
  • ????????????ret=$?
  • ????????????if?[?"$ret"?=?0?];?then
  • ????????????????color_echo y?"Warning! ""$src#$dst"" is already existed! do not re-submit!"?
  • ????????????????continue
  • ????????????elif?[?"$ret"?=?2?];?then
  • ????????????????continue
  • ????????????fi
  • ????????????read?-p?"Would you like to add some excluding conditions to $src: (y/n)[n] "?yn
  • ????????????if?[?"$yn"?=?y?];?then
  • ????????????????color_echo r?"Note: this is an expert mode, and we don't check your pattern"
  • ????????????????color_echo r?"is valid or not. Some patterns are available, as follows:"
  • ????????????????color_echo r?"eg: if your src directory is /home, and your want to exclude"
  • ????????????????color_echo r?"the directory /home/rongp, then you should type in \"rongp\"."?
  • ????????????????color_echo r?"eg: if your src directory is /home, and your want to exclude"
  • ????????????????color_echo r?"the directory /home/rongp and /home/test, then you should"?
  • ????????????????color_echo r?"type in \"rongp:test\", and you can append any item with ':' ."
  • ????????????????
  • ????????????????read?-p?"Please type in paths to the excluding files: "?exitem?
  • ????????????????ex_src="$exitem"
  • ????????????fi
  • ????????????if?insert_new_item?"$src"?"$dst"?"$ex_src";?then
  • ????????????????echo?""$src"#"$dst" add successed!"
  • ????????????else?
  • ????????????????echo?""$src"#"$dst" add failed!"
  • ????????????fi
  • ????????else?
  • ????????????read?-p?"skip it? Yy/Nn:[n] "?yn
  • ????????????if?[?"$yn"?=?"y"?-o?"$yn"?=?"Y"?];?then
  • ????????????????continue
  • ????????????fi
  • ????????????return 1
  • ????????fi
  • ????done
  • ????return 0
  • }
  • get_choices()
  • {
  • ????local total_line=`wc?-l $db_pathname?|?cut?-d?'?'?-f 1`
  • ????
  • ????select_tab=
  • ????color_echo g?"Enter the mode of "$1"! some patterns are available, as follows:"
  • ????color_echo g?"eg: 1-3 means select no 1 2 3 item"
  • ????color_echo g?"eg: 1:3:5 means select no 1 3 5 item"
  • ????color_echo g?"you can append any no with ':' or '-', but don't mix use it."
  • ????color_echo g?"no 0 means select all."
  • ????do_print
  • ????read?-p?"Please type in the number: "?NO
  • ????if?[?"${NO/-/ }"?!=?"$NO"?];?then?
  • ????????num_tab=(${NO//-/?})
  • ????????[?${#num_tab[@]}?-gt 2?]?&&?\
  • ????????????echo?"Select failed, argument $NO is illegal!"?&&?return 1
  • ????????
  • ????????num0=${num_tab[0]}
  • ????????num1=${num_tab[1]}
  • ????????XECHO num0:$num0 num1:$num1
  • ????????if?[?-z?"${num0//[0-9]/}"?-a?"$num0"?-le?"$total_line"?-a?"$num0"?-gt?"0"?]\
  • ???????????&&?[?-z?"${num1//[0-9]/}"?-a?"$num1"?-le?"$total_line"?-a?"$num1"?-gt?"0"?]\
  • ???????????&&?[?"$num0"?-lt?"$num1"?];?
  • ????????then
  • ????????????select_tab=(`seq $num0 $num1`)
  • ????????else?
  • ????????????echo?"Select failed, argument $NO is illegal!"?&&?return 1
  • ????????fi
  • ????elif?[?"${NO/:/ }"?!=?"$NO"?];?then
  • ????????for?num?in?${NO//:/?}
  • ????????do
  • ????????????if?[?-z?"${num//[0-9]/}"?]&&[?"$num"?-le?"$total_line"?]\
  • ????????????????&&[?"$num"?-gt?"0"?];?then
  • ????????????????continue
  • ????????????else?
  • ????????????????echo?"Select failed, argument $num is illegal!"?&&?return 1
  • ????????????fi
  • ????????done
  • ????????j=0
  • ????????for?i?in?${NO//:/?}
  • ????????do
  • ????????????select_tab[j]=$i
  • ????????????((j++))
  • ????????done
  • ????else?
  • ????????if?[?"$NO"?=?0?];?then
  • ????????????select_tab=(`seq 1 $total_line`)
  • ????????elif?[?-z?"${NO//[0-9]/}"?]&&[?"$NO"?-le?"$total_line"?]\
  • ????????????????&&[?"$NO"?-gt?"0"?];?then
  • ????????????select_tab[0]=${NO}
  • ????????else?
  • ????????????echo?"Select failed, argument $NO is illegal!"?&&?return 1
  • ????????fi
  • ????fi
  • ????return 0
  • }
  • do_del()?
  • {
  • ????if?!?get_choices?"deleting files";?then
  • ????????return 1
  • ????fi
  • ????local total_num=${#select_tab[@]}
  • ????if?[?"$total_num"?=?1?];?then
  • ????????nums=${select_tab[0]}d
  • ????elif?[?"$total_num"?=?2?];?then
  • ????????nums=${select_tab[0]},${select_tab[1]}d
  • ????else?
  • ????????for?((i=0;?i<$total_num;?++i))
  • ????????do
  • ????????????nums+="${select_tab[i]}d;"
  • ????????done
  • ????fi
  • ????sed?-i?"$nums"?$db_pathname?>/dev/null?2>&1
  • ????[?"$?"?=?0?]?&&?echo?"$NO delete successed!"?||?echo?"$NO delete failed, delete failed!"
  • }
  • do_print()
  • {
  • ????[?!?-s $db_pathname?]?&&?color_echo y?"Warning, no record found!"?&&?return 1
  • ????echo?" no source destination action"
  • ????cat?-n $db_pathname?|?sed?'s/@#@/?/g'
  • }
  • check_in_select_tab()
  • {
  • ????local i
  • ????for?((i=0;?i<${#select_tab[@]};?++i))
  • ????do
  • ????????XECHO $1:select_tab[$i]:${select_tab[i]}
  • ????????if?[?"${select_tab[i]}"?=?"$1"?];?then
  • ????????????return 0
  • ????????fi
  • ????done
  • ????return 1
  • }
  • do_backup()
  • {
  • ????local ex_file=`mktemp`
  • ????local fake="${1/fake/-n}"
  • ????local yes="${1/yes/y}"
  • ????[?!?-f?"$db_pathname"?]?&&?color_echo r?"$db_pathname does not exist!"?&&?return 1
  • ????if?!?get_choices?"backup";?then
  • ????????return 1
  • ????fi
  • ????local i=0
  • ????local k=0
  • ????while?read?-r src dst ex_src;
  • ????do
  • ????????if?check_in_select_tab $((i+1));?then
  • ????????????XECHO?"$i in select table"
  • ????????????src="${src//@#@/ }"
  • ????????????dst="${dst//@#@/ }"
  • ????????????XECHO src:$src dst:$dst ex_src:$ex_src ex_file:$ex_file
  • ????????????src_tab[k]="$src"
  • ????????????dst_tab[k]="$dst"
  • ????????????ex_src_tab[k]="$ex_src"
  • ????????????((k++))
  • ????????fi
  • ????????((i++))
  • ????done?<?$db_pathname
  • ????for?((j=0;?j<$k;?++j))
  • ????do
  • ????????echo src:${src_tab[j]}?dst:${dst_tab[j]}?ex_src:${ex_src_tab[j]}
  • ????????src="${src_tab[j]}"
  • ????????dst="${dst_tab[j]}"
  • ????????ex_src="${ex_src_tab[j]}"
  • ????????echo?"$ex_src"?|?awk?-F?':'?'{for?(i=1;i<=NF;++i)print $i}'?|?sed?'s/@#@/?/g'?>?$ex_file
  • ????????if?[?"$src"?=?"/"?];?then
  • ????????????tmpsrc=$(blkid `mount?|?grep?"/ "?|?cut?-d?'?'?-f 1`?|?awk?-F?"\"" '{print $2}')
  • ????????else?
  • ????????????tmpsrc="$src"
  • ????????fi
  • ????????
  • ????????if [ "$dst" = "/" ]; then
  • ????????????tmpdst=$(blkid `mount | grep "/?" | cut -d ' ' -f 1` | awk -F "\""?'{print $2}')
  • ????????else?
  • ????????????tmpdst="$dst"
  • ????????fi
  • ????????color_echo g?"We will start backup from "
  • ????????color_echo r?"$src"
  • ????????color_echo g?to?
  • ????????color_echo r?"$dst"?
  • ????????color_echo g?"with excluding file or directory"?
  • ????????color_echo r?"${ex_src//@#@/ }"
  • ????????color_echo gn?"continue or not? y/n: "
  • ????????if?[?"$yes"?=?y?];?then?
  • ????????????yn=y
  • ????????else?
  • ????????????read yn
  • ????????fi
  • ????????if?[?"$yn"?=?y?];?then
  • ????????????echo Start backup?"$src"?to?"$dst"?with excluding file?or?directory?"$ex_src"
  • ????????????(
  • ????????????flock?-x 200
  • ????????????rsync?-avzrtopg $fake?--progress?--delete?--exclude-from=$ex_file?\
  • ????????????????"$src"?"$dst"?--backup?--backup-dir=$inc_path/$(date?+%Y-%m-%d_%H:%M:%S_$(basename ${tmpsrc})_$(basename $tmpdst))
  • ????????????)?200>/var/lock/abc
  • ????????????echo Backup $src?to?$dst with excluding file?or?directory $ex_src?
  • ????????else?
  • ????????????echo Skip backup $src?to?$dst with excluding file?or?directory $
  • ????????fi
  • ????done
  • ????
  • }
  • get_answer()
  • {
  • ????local ret
  • ????if?[?"$4"?!=?""?];?then
  • ????????tmpbackup="$4"
  • ????else
  • ????????tmpbackup=backup.cfg.bak
  • ????fi
  • ????while?:
  • ????do
  • ????????read?-p?"Type in $1 path of the backup(default is $2, q for exit): "?ans_tmp?
  • ????????if?[?"$ans_tmp"?=?q?];?then
  • ????????????ret=1
  • ????????????break
  • ????????elif?[?"$ans_tmp"?!=?""?];?then?
  • ????????????if?[?!?-d?"$ans_tmp"?];?then
  • ????????????????echo?"$1: $ans_tmp is invalid!"?
  • ????????????????read?-p?"Would you like to create it now? y/n [y]: "?yn
  • ????????????????if?[?"$yn"?=?y?];?then
  • ????????????????????mkdir?-p $ans_tmp
  • ????????????????else
  • ????????????????????continue
  • ????????????????fi
  • ????????????fi
  • ????????????sed?-i?"s,$3.*,$3$ans_tmp,g"?$tmpbackup
  • ????????????ret=$?
  • ????????????break
  • ????????else
  • ????????????ans_tmp="$2"
  • ????????????ret=0?
  • ????????????break
  • ????????fi
  • ????done
  • ????return $ret
  • }
  • already_install()
  • {
  • ????if?load_cfg $backup_cfg s;?then
  • ????????XECHO?"already install"
  • ????????return 0 #has install
  • ????fi
  • ????return 1
  • }
  • do_install()
  • {?
  • ????color_echo g start install
  • ????if?already_install;?then?
  • ????????color_echo y?"We check that you have already installed, you should"
  • ????????color_echo yn?"uninstall first, would you want to uninstall it first?y/n[n] "
  • ????????read yn
  • ????????if?[?"$yn"?!=?y?];?then
  • ????????????color_echo g install?
  • ????????????color_echo r install?
  • ????????????return 1
  • ????????else?
  • ????????????do_uninstall
  • ????????fi
  • ????fi
  • ????cp?-f backup.cfg backup.cfg.bak
  • ????load_cfg backup.cfg.bak s
  • ????if?[?"$?"?=?1?];?then
  • ????????exit
  • ????fi
  • ????if?!?get_answer?"executable file backup"?"$bin_path"?"INSTALL_PATH=";then
  • ????????color_echo g install?
  • ????????color_echo r install?
  • ????????return 1
  • ????fi
  • ????install_path=$ans_tmp
  • ????color_echo g install path?is?$install_path
  • ????if?!?get_answer?"database"?"$db_path"?"DB_PATH=";then
  • ????????color_echo g install?
  • ????????color_echo r install?
  • ????????return 1
  • ????fi
  • ????db_path=$ans_tmp
  • ????color_echo g database path?is?$db_path
  • ????if?!?get_answer?"incremental backup"?"$inc_path"?"INCREMENTAL_BACKUP_PATH=";then
  • ????????color_echo g install?
  • ????????color_echo r install?
  • ????????return 1
  • ????fi
  • ????inc_path=$ans_tmp
  • ????color_echo g incremental backup path?is?$inc_path
  • ????echo?
  • ????who=`whoami`
  • ????cp backup $install_path
  • ????color_echo g install backup?to?$install_path
  • ????ret=$?
  • ????mv backup.cfg.bak $backup_cfg
  • ????color_echo g install $backup_cfg
  • ????ret=$((ret+$?))
  • ????mkdir?-p $db_path
  • ????color_echo g install $db_path
  • ????ret=$((ret+$?))
  • ????mkdir?-p $inc_path
  • ????color_echo g install $inc_path
  • ????ret=$((ret+$?))
  • ????ln?-s $db_path $inc_path/db
  • ????color_echo g install $inc_path/db
  • ????ret=$((ret+$?))
  • ????color_echo g install?
  • ????if?[?$ret?-gt 0?];?then?
  • ????????color_echo r install?
  • ????????[?-e $bin_path/backup?]?&&?rm_print $bin_path/backup
  • ????????[?-e $backup_cfg?]?&&?rm_print $backup_cfg
  • ????????[?-e $inc_path/db?]?&&?rm_print $inc_path/db?&&?rm_print?-rf $inc_path
  • ????????[?-e $db_pathname?]?&&?rm_print $db_pathname
  • ????????rm_print?-d $db_path
  • ????????return 1
  • ????fi
  • ????echo?
  • ????echo?
  • ????color_echo y?"The installation work is done, and you can remove this package now!"
  • ????color_echo y?"Note: you should put the executable file \"backup\""
  • ????color_echo y?"into \$PATH and you need to get \"root\" privileges to execute it."
  • ????color_echo y?"for example, you can execute it like this in ubuntu: sudo backup"
  • ????return 0
  • }
  • rm_print()
  • {
  • ????color_echo g remove $@
  • ????eval rm $@
  • }
  • do_uninstall()
  • {
  • ????XECHO?"Perform the un-installation."
  • ????color_echo g perform the un-installation...
  • ????if?!?load_cfg $backup_cfg;?then?
  • ????????color_echo g uninstall?
  • ????fi
  • ????[?-e $bin_path/backup?]?&&?rm_print $bin_path/backup
  • ????[?-e $backup_cfg?]?&&?rm_print $backup_cfg
  • ????[?-e $inc_path/db?]?&&?rm_print $inc_path/db?&&?rm_print?-rf $inc_path
  • ????[?-e $db_pathname?]?&&?rm_print $db_pathname
  • ????rm_print?-d $db_path
  • ????color_echo g uninstall?
  • ????color_echo g uninstall?
  • }
  • load_cfg()
  • {
  • ????if?[?!?-e?"$1"?];?then
  • ????????[?"$2"?!=?"s"?]?&&?color_echo r?"Error, we can't find the configure file $1, exit now!"
  • ????????return 1
  • ????fi
  • ????bin_path=`sed?-n?'s/INSTALL_PATH=\(.*\)/\1/p'?$1`
  • ????db_path=`sed?-n?'s/DB_PATH=\(.*\)/\1/p'?$1`
  • ????db_pathname=$db_path/backup.db
  • ????inc_path=`sed?-n?'s/INCREMENTAL_BACKUP_PATH=\(.*\)/\1/p'?$1`
  • ????if?[?!?-d?"$inc_path"?];?then?
  • ????????[?"$2"?!=?"s"?]?&&?color_echo r Load configuration file your should
  • ????????[?"$2"?!=?"s"?]?&&?color_echo r check the directory $db_pathname?is?valid?or?
  • ????????return 2
  • ????fi
  • ????XECHO database path?is?$db_path
  • ????XECHO database file path?is?$db_pathname
  • ????XECHO incremental backup path?is?$inc_path
  • ????return 0
  • }
  • show_configure()
  • {
  • ????color_echo g executable backup?is?in?$bin_path
  • ????color_echo g database directory?is?in?$db_path
  • ????color_echo g incremental backup directory?is?in?$inc_path
  • }
  • do_modify_inc_backup_path()
  • {
  • ????if?!?get_answer?"incremental backup"?"$inc_path"?\
  • ????????"INCREMENTAL_BACKUP_PATH="?$backup_cfg;then
  • ????????return 1
  • ????fi
  • ????inc_path=$ans_tmp
  • ????XECHO incremental backup?is?$inc_path
  • ????return 0
  • }
  • do_configure()
  • {
  • ????color_echo g?[1]?modify incremental backup path
  • ????color_echo g?[2]?...
  • ????read?-p?"Please type in the no which you are expecting to: "?no
  • ????if?[?"$no"?=?1?];?then
  • ????????do_modify_inc_backup_path
  • ????else
  • ????????color_echo r Unsupported?
  • ????fi
  • }
  • backup_start()
  • {
  • ????if?!?load_cfg $backup_cfg;?then?
  • ????????exit
  • ????fi
  • ????while?:
  • ????do
  • ????????read?-p?"Command (h for help): "?cmd
  • ????????case?"$cmd"?in
  • ????????????a)
  • ????????????????do_add
  • ????????????????;;
  • ????????????d)
  • ????????????????do_del?
  • ????????????????;;
  • ????????????p)
  • ????????????????do_print
  • ????????????????;;
  • ????????????c)
  • ????????????????do_configure?
  • ????????????????;;
  • ????????????b)
  • ????????????????do_backup?
  • ????????????????;;
  • ????????????bf)
  • ????????????????do_backup yes?
  • ????????????????;;
  • ????????????n)
  • ????????????????do_backup fake
  • ????????????????;;
  • ????????????s)
  • ????????????????show_configure
  • ????????????????;;
  • ????????????i)
  • ????????????????do_install
  • ????????????????;;
  • ????????????u)
  • ????????????????do_uninstall
  • ????????????????exit
  • ????????????????;;
  • ????????????q)
  • ????????????????break
  • ????????????????;;
  • ????????????h?|?*)
  • ????????????????help?
  • ????????????????;;
  • ????????esac
  • ????done
  • }
  • username=`echo $USER`
  • if?[?"$username"?!=?root?];?then
  • ????color_echo r?"Error, you need to have \"root\" privileges to execute this program."
  • ????exit
  • fi
  • if?[?"$1"?=?"-i"?];?then
  • ????if?!?do_install;?then
  • ????????color_echo y?"Sorry, We can't continue any more. Exit now!"?
  • ????fi
  • ????exit
  • elif?[?"$1"?=?"-u"?];?then
  • ????do_uninstall?
  • ????exit
  • elif?[?"$1"?=?"-h"?];?then
  • ????_help
  • ????exit
  • fi
  • if?[?!?-e $backup_cfg?];?then?
  • ????color_echo r?"$backup_cfg does not exist! "
  • ????read?-p?"You need to install the backup first. perform the installation? y/n?[y]: "?yn?
  • ????if?[?"$yn"?!=?n?];?then
  • ????????do_install
  • ????else
  • ????????echo Sorry,?we can\'t continue any more.?Exit?
  • ????fi
  • ????exit
  • fi
  • backup_start

  • 這是配置文件

    點擊(此處)折疊或打開

  • #############################
  • ######
  • #############################
  • AUTHOR=rongp
  • EMAIL=rongpmcu@gmail.com
  • VERSION=1.0
  • INSTALL_PATH=/usr/bin/
  • DB_PATH=/var/lib/backup/
  • INCREMENTAL_BACKUP_PATH=/var/lib/backup/incr_backup

  • git路徑:git@bitbucket.org:rongpmcu/backup-script-shell.git

    【作者】張昺華 【出處】http://www.cnblogs.com/sky-heaven/ 【博客園】 http://www.cnblogs.com/sky-heaven/ 【新浪博客】 http://blog.sina.com.cn/u/2049150530 【知乎】 http://www.zhihu.com/people/zhang-bing-hua 【我的作品---旋轉倒立擺】 http://v.youku.com/v_show/id_XODM5NDAzNjQw.html?spm=a2hzp.8253869.0.0&from=y1.7-2 【我的作品---自平衡自動循跡車】 http://v.youku.com/v_show/id_XODM5MzYyNTIw.html?spm=a2hzp.8253869.0.0&from=y1.7-2 【新浪微博】 張昺華--sky 【twitter】 @sky2030_ 【facebook】 張昺華 zhangbinghua 本文版權歸作者和博客園共有,歡迎轉載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利.

    總結

    以上是生活随笔為你收集整理的linux下简单的备份的脚本 2 【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

    少妇高潮冒白浆 | 日韩免费av网址 | 中文字幕乱码亚洲精品一区 | 一区二区三区在线视频111 | 精品影院一区二区久久久 | 久久国产精品区 | 开心丁香婷婷深爱五月 | 国产视频在 | 91电影福利 | 久久精品91久久久久久再现 | 婷婷伊人五月天 | 久久精品9 | 久久久久亚洲国产精品 | 五月天网页 | 亚洲欧洲xxxx | 国产免费成人 | 欧美伦理一区二区三区 | 久久免费视频在线观看6 | 人人澡人人爱 | 久久成人国产精品一区二区 | 亚洲97在线 | 粉嫩av一区二区三区四区五区 | 国产亚洲精品xxoo | 国产精品免费一区二区三区在线观看 | 欧美性春潮| 亚洲精品久久久久久中文传媒 | www好男人| 国产一级黄色电影 | 午夜精品久久久久久中宇69 | 国产一区二区高清不卡 | 性色av香蕉一区二区 | www.天天操 | 亚洲一区在线看 | 久久视频国产精品免费视频在线 | aa级黄色大片 | 亚洲最新av在线 | 日韩视频免费观看高清 | 免费av网站观看 | 天天干一干 | 国产精品自产拍 | 免费看成人片 | 午夜精品一区二区三区四区 | 精品夜夜嗨av一区二区三区 | 国产色婷婷在线 | 亚洲资源在线网 | 精品久久一二三区 | 夜夜躁日日躁狠狠久久88av | 婷婷在线五月 | 玖草影院| 国产精品麻豆一区二区三区 | 免费一级片视频 | 亚洲欧美视频在线观看 | 天天色宗合 | 91在线小视频 | 久久婷婷五月综合色丁香 | 国产日韩精品欧美 | 超碰官网 | 久久免费视频6 | 97夜夜澡人人双人人人喊 | 最近中文字幕免费视频 | 精品国产一区二区三区蜜臀 | 国产精品九九九九九 | 欧美美女一级片 | www.神马久久 | 国产精品午夜久久 | 综合亚洲视频 | 日本黄色免费在线观看 | 欧美日韩中文在线 | 最近高清中文字幕在线国语5 | 日韩成人精品 | 国内精品久久久久久久97牛牛 | 日韩午夜av电影 | 亚洲激情在线观看 | 国产生活一级片 | 久久久久久久久久久久久久电影 | 色爱成人网 | 国产黄色精品在线 | 国产一区观看 | 亚洲开心激情 | 久久久99久久 | 91精品视频一区二区三区 | 国产精品久久久免费 | 一级黄色片在线免费观看 | 狠狠色噜噜狠狠狠狠2022 | 日本大片免费观看在线 | 久久久久观看 | 久久精品一区二区 | 国产色中涩| 黄色国产精品 | 97狠狠干| 日日摸日日爽 | 欧美日韩免费在线视频 | 亚洲码国产日韩欧美高潮在线播放 | 久久久久国产免费免费 | 中文字幕一二 | 黄色的视频网站 | av在线com| 国产无吗一区二区三区在线欢 | 91精品久久久久久久久久久久久 | 成人在线视频免费观看 | 久久这里只有精品首页 | 国产剧情一区 | 婷婷夜夜 | 久久97久久 | 国际精品久久久久 | 亚洲精品视频在线观看免费视频 | 国产小视频网站 | 精品久久中文 | 中文字幕视频免费观看 | 免费在线成人av电影 | 日韩精品中文字幕在线 | 国产精品黄 | 中文久久精品 | 国产成人精品999在线观看 | 国产精品久久久久久久久久久久午夜片 | 国产成人av免费在线观看 | 国产黄色av影视 | 成年人在线免费视频观看 | 成年人免费在线观看网站 | 国产1区2区3区精品美女 | 久久婷婷一区 | 国产精品美女www爽爽爽视频 | 久久视频这里只有精品 | 高清不卡一区二区在线 | www五月| 探花视频在线观看+在线播放 | 欧美日韩aa| 97超碰中文字幕 | 亚洲精品在线看 | 伊人天天狠天天添日日拍 | 亚洲视频在线观看 | 91精品一区二区三区蜜臀 | 五月天堂色| 亚洲伊人网在线观看 | 久久理论片| 欧美日韩视频在线观看免费 | 午夜精品久久久久久99热明星 | 色吊丝在线永久观看最新版本 | 日本狠狠干 | www.99在线观看 | 久久久免费看片 | 中国一级片免费看 | 久久精品福利 | 手机在线看永久av片免费 | 久久高清国产 | 美女网站视频色 | 一区二区三区动漫 | 好看的国产精品视频 | 欧美精品在线观看 | 免费精品视频在线观看 | 天天操福利视频 | v片在线播放 | 2019天天干夜夜操 | 久久视奸 | 国产日韩欧美在线免费观看 | 国产98色在线 | 日韩 | 国产性天天综合网 | 国产精品二区在线观看 | 免费91麻豆精品国产自产在线观看 | 中文字幕久久精品 | 韩国一区二区三区视频 | 精品视频999 | 五月婷婷激情网 | 狠狠色狠狠色合久久伊人 | 日韩av一区二区在线影视 | 999久久国产 | 美腿丝袜一区二区三区 | 日韩最新中文字幕 | 五月情婷婷 | 69精品在线观看 | 日本精品xxxx | 亚洲va欧美va人人爽 | 亚洲理论在线观看电影 | 最近中文字幕在线中文高清版 | 国产精品久久久久久久免费 | 国产福利一区二区在线 | 91免费看黄色 | 成人黄色大片 | 国产精品99久久久久人中文网介绍 | 亚洲视频电影在线 | 国产69精品久久99不卡的观看体验 | 91色蜜桃| 激情综合国产 | 91视频在线| 色婷婷www| 天天夜夜操 | 国产亚洲午夜高清国产拍精品 | 99视频精品全部免费 在线 | 免费观看版 | 精品亚洲二区 | 91亚洲狠狠婷婷综合久久久 | 国产五十路毛片 | 国产亚洲精品福利 | 在线成人短视频 | 天天色天天骑天天射 | 在线影院 国内精品 | 香蕉在线视频观看 | 久久伊人婷婷 | 国产黄色成人 | 天天色 天天 | 五月天激情电影 | 国产尤物在线视频 | 久久影院一区 | 久久丁香网 | 97精品在线观看 | 欧美一级性生活片 | 国产免费视频一区二区裸体 | 久久av免费观看 | 久久综合九色综合97婷婷女人 | 六月色 | 亚洲精品视频在线免费播放 | 日本午夜在线亚洲.国产 | 国产福利一区二区在线 | 天天操天天操 | 草久在线观看视频 | 欧美成人黄色片 | 福利av在线| 中日韩三级视频 | 日韩电影中文,亚洲精品乱码 | 亚洲国产中文在线观看 | 丁香婷婷激情 | 久久久久久久免费观看 | 毛片网免费 | 高清有码中文字幕 | 国产女人免费看a级丨片 | 天天射天天干天天插 | 亚洲精品国产综合久久 | 久久婷婷色综合 | 天天操天天射天天插 | 久久97视频| 97人人模人人爽人人少妇 | 人人干网 | 国产美女视频网站 | 精精国产xxxx视频在线播放 | 久久网页 | 免费av视屏 | 亚洲作爱视频 | 亚洲精品国偷拍自产在线观看 | 奇米先锋| 99精品网站 | 99久e精品热线免费 99国产精品久久久久久久久久 | 欧美一区三区四区 | 热久久免费视频精品 | 国产精品va最新国产精品视频 | av韩国在线 | 久久激情小说 | 五月婷婷电影网 | 日本黄色免费大片 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 最近中文字幕第一页 | 国产日产精品一区二区三区四区 | 国产私拍在线 | 看v片 | 亚洲精品自拍视频在线观看 | 中文字幕在线视频一区 | av无限看| 天天爱av导航 | 日韩在线播放av | 黄色看片 | 国产色女 | 97在线视频免费播放 | 国产麻豆视频 | 日本公妇在线观看 | av资源在线看 | 91在线区| 乱子伦av| 91重口视频 | 欧美一级裸体视频 | 亚洲精品在线视频播放 | 日日夜夜天天久久 | 一级a性色生活片久久毛片波多野 | 色99导航 | 久久这里精品视频 | 亚洲精品国产日韩 | 国产精品久久久久婷婷 | 在线观看免费成人av | 午夜黄色大片 | 91麻豆精品国产91久久久久久 | 国产麻豆精品免费视频 | 国产99久久久国产精品成人免费 | 欧美日韩综合在线 | www四虎影院| 超碰在线成人 | 亚州av一区| 一区二区三区中文字幕在线观看 | 免费国产一区二区视频 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 欧美黑吊大战白妞欧美 | 欧美日韩国产页 | 国内99视频| 久久久久久久久久网站 | 丁香综合 | 黄色www| 外国av网 | 色综合在 | 国产原创在线视频 | 欧美日韩午夜爽爽 | av中文天堂在线 | 综合色中文 | 国产不卡免费 | 日本视频网 | 在线观看亚洲视频 | 久久成人高清视频 | 99re国产 | 中文字幕精品久久 | 高清国产午夜精品久久久久久 | 97av在线| 久草在线欧美 | 69久久99精品久久久久婷婷 | 中文字幕日韩电影 | 中文字幕精品一区二区三区电影 | 国产欧美精品一区二区三区四区 | 成人性生交视频 | 亚洲最大在线视频 | 久久小视频 | 日韩在线二区 | 天天综合网天天 | 久久精品一 | 521色香蕉网站在线观看 | 99热都是精品 | 中文字幕在线视频一区二区 | 黄色国产区 | 亚洲国内精品 | 少妇精品久久久一区二区免费 | 91成人网在线 | 亚洲国产一二三 | 国产精品成人av在线 | 超碰在线公开 | 黄色小说在线观看视频 | 国产99久久久精品 | 2021国产在线视频 | 国产二区视频在线观看 | 五月婷婷六月丁香 | 欧美日韩成人一区 | 四虎影视成人永久免费观看亚洲欧美 | 91视频传媒 | 在线观看黄 | 99视频免费 | 欧洲精品亚洲精品 | 成人禁用看黄a在线 | 亚洲电影黄色 | www.com在线观看| 在线欧美日韩 | 国产精品自产拍在线观看中文 | 欧美在线一二 | 久久国内精品视频 | 免费高清在线观看电视网站 | 日韩精品久久久 | 91九色蝌蚪视频网站 | 一区二区三区免费在线观看 | 波多野结衣电影一区二区三区 | 日韩高清三区 | 视频一区二区精品 | 日韩av免费大片 | 永久免费毛片 | 91在线免费播放 | 美女国产精品 | 99热在线观看 | 99精品乱码国产在线观看 | 人人爽人人爽人人爽人人爽 | 婷婷草| 91亚洲精品久久久蜜桃 | 视频国产一区二区三区 | av看片网址 | 免费视频成人 | 国产91精品一区二区麻豆网站 | 国产不卡毛片 | 日韩美女久久 | 久久视频这里有久久精品视频11 | 亚洲国产丝袜在线观看 | 国产福利一区在线观看 | 日韩网| 日韩综合一区二区 | 亚洲夜夜网 | 91av蜜桃| 最近高清中文字幕在线国语5 | 日韩精品中文字幕在线不卡尤物 | 国产成人三级 | 综合久久五月天 | 免费看片日韩 | 麻豆久久久久久久 | 成片视频免费观看 | 成人av动漫在线 | 在线成人欧美 | 久久久免费在线观看 | 99精品视频网 | 日韩午夜大片 | 中文字幕在线人 | 欧美日韩在线免费观看 | 在线看av网址 | 欧美视频在线观看免费网址 | 国产成人精品综合 | 99久久激情 | 99久久99视频| 日韩一区正在播放 | 最新色视频 | 又黄又爽又刺激的视频 | 精品亚洲国产视频 | 欧美日韩高清一区二区三区 | 欧美天堂久久 | 亚洲在线a| 久久精美视频 | 国产明星视频三级a三级点| 在线视频一二区 | 日本在线视频网址 | 久久综合中文色婷婷 | 97国产情侣爱久久免费观看 | 日日爱影视| 亚洲国产精品第一区二区 | 久久成电影 | 欧美午夜精品久久久久久浪潮 | 综合在线色 | 在线观av | 91视视频在线直接观看在线看网页在线看 | 五月婷婷黄色 | 99视频国产精品 | 欧美极度另类性三渗透 | 97精品国产97久久久久久久久久久久 | 欧美精品久久久久久久免费 | 日韩精品一区二区久久 | 国产另类av | 欧美一级片在线观看视频 | 国产久草在线 | 亚洲激情婷婷 | 狠狠狠操| 久久a久久 | 在线一二区 | 99性视频 | 亚洲精品97 | 日韩特黄一级欧美毛片特黄 | 日本最大色倩网站www | 五月激情av | 日本韩国精品一区二区在线观看 | 久久视频精品在线 | 成 人 黄 色视频免费播放 | 丁香激情综合 | 人人盈棋牌 | 欧美日韩在线观看不卡 | a黄色一级片| 黄色特一级片 | 日本久久成人中文字幕电影 | 九九免费观看全部免费视频 | 中文字幕在线看 | 在线观看国产中文字幕 | 欧美淫视频| 精品国产色 | 三级黄色在线 | 2023av在线| 久久久污 | 午夜精品福利一区二区 | 天天操婷婷 | 日韩av电影一区 | 国产91在线观看 | 日韩精品一卡 | 欧美精品一区二区在线观看 | 在线观看福利网站 | 国产白浆在线观看 | 欧美精品一区二区三区一线天视频 | 国产精品久久9 | 天天操夜 | 在线黄色国产电影 | 网站在线观看你们懂的 | 日日夜夜狠狠 | 色播五月激情五月 | 日韩中文字幕亚洲一区二区va在线 | 国产精品美女视频 | 三级a毛片| www免费在线观看 | 狠狠色丁香婷婷综合视频 | 91中文视频 | 久久99欧美 | 奇米影视777四色米奇影院 | 精品一区二区三区久久久 | 中文字幕一区三区 | www.com操| 国产精品成人国产乱 | 国产在线污 | 国产高清一区二区 | 亚洲国产福利视频 | 精品国产一区二区三区久久久蜜月 | www.色五月| 中午字幕在线 | 在线视频亚洲 | 特级西西444www大精品视频免费看 | 国产中文在线视频 | 91在线91拍拍在线91 | 午夜精品中文字幕 | 麻豆观看| 国产一级二级在线观看 | 午夜国产福利视频 | 久久久久亚洲最大xxxx | 中午字幕在线观看 | av电影中文 | 中文字幕 国产视频 | av综合网址 | 久久久18 | 日韩理论影院 | 中文字幕在线观看完整版电影 | 九九视频精品在线 | 日日操网 | 久久人人爽人人人人片 | 精品国产伦一区二区三区观看说明 | 天天色天天干天天 | 国产区高清在线 | 国产小视频你懂的 | 亚洲欧美在线观看视频 | 久久久久久久久久久成人 | 国产香蕉97碰碰久久人人 | 国产专区视频在线观看 | 精品一区二区在线观看 | 在线观看视频黄色 | 亚洲三区在线 | 日韩电影在线一区二区 | 久久av免费| 国产99久久久精品视频 | 国产精品久久久久久一二三四五 | 伊人超碰在线 | 欧美激情精品久久久久久变态 | 精品国产综合区久久久久久 | 在线观看免费版高清版 | 综合伊人av | 国产午夜精品视频 | 免费日韩一级片 | 国产91精品在线播放 | 精品国产免费观看 | 久久国产精品一区二区三区四区 | 欧美一级欧美一级 | 天天爽天天搞 | 国产成人久久精品 | 欧美色久 | 婷婷天天色 | 九九免费精品视频在线观看 | 超碰在线公开 | 精品国产aⅴ一区二区三区 在线直播av | 欧美日韩xxx | 国产成人精品aaa | av色综合网| 在线亚洲欧美视频 | 国产精品日韩 | 日本精品久久久久影院 | 亚洲91在线| 天天爱天天操天天爽 | av电影av在线 | 91亚洲精品久久久久图片蜜桃 | 蜜臀av一区二区 | 江苏妇搡bbbb搡bbbb | 亚洲成人黄 | 偷拍久久久 | 日韩三级视频在线观看 | 丁香六月天婷婷 | 园产精品久久久久久久7电影 | 美女黄视频免费看 | 国内精品久久久久久久久久 | 欧美久久久久久久久久久久 | 黄色一级大片在线免费看国产一 | 视频一区亚洲 | 国产精品成人av电影 | 99免费在线播放99久久免费 | 免费观看一级视频 | 久久成人人人人精品欧 | 人人玩人人爽 | 亚洲精品中文字幕视频 | 99精品视频在线观看 | 亚洲乱码久久久 | 国产日产精品久久久久快鸭 | 日韩国产精品久久久久久亚洲 | 欧美激情在线看 | 欧美精品国产精品 | 久久精品免费电影 | 久久久久亚洲精品中文字幕 | 久久精品中文字幕一区二区三区 | 超碰在线人人 | av国产网站| 四虎国产永久在线精品 | 天天操欧美 | 99国产精品一区二区 | 亚州精品在线视频 | 三级av黄色| 亚洲影视九九影院在线观看 | 天堂视频中文在线 | 91精品成人久久 | 国产中文字幕网 | 麻豆国产视频下载 | 国产呻吟在线 | 欧美日韩一区二区三区不卡 | www.人人干 | 超碰伊人网 | 国产91影院 | 九九免费精品视频在线观看 | 成人在线免费视频 | 国产在线视频导航 | 欧美va在线观看 | 国内丰满少妇猛烈精品播 | 欧美日韩一区二区三区不卡 | 国产精品永久久久久久久久久 | 免费高清av在线看 | 国产午夜亚洲精品 | 婷婷综合 | 久久 国产一区 | 亚洲高清网站 | 日韩美精品视频 | 色停停五月天 | 国产91在| 最新动作电影 | 91精品办公室少妇高潮对白 | 欧美精品亚洲精品 | av在线网站大全 | 欧美激情精品久久久久久变态 | 九九在线高清精品视频 | 亚洲精品ww | 337p欧美| 激情五月在线观看 | 国产偷国产偷亚洲清高 | 日韩免费一区 | www.五月婷婷.com | 99久久精品国产一区二区三区 | 国产99久久精品一区二区永久免费 | 国产一区在线免费观看视频 | 丁香六月中文字幕 | 欧美日韩国产在线观看 | 国产黄a三级三级三级三级三级 | 亚洲精品影院在线观看 | 一区二区视频免费在线观看 | 国产成人精品不卡 | 色婷婷99 | 麻豆视频91| 久久香蕉国产精品麻豆粉嫩av | 日韩试看 | 丁香六月天婷婷 | 国内精品久久久久久久97牛牛 | 超级碰碰碰免费视频 | 激情久久五月 | 中文字幕在线观 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 国产福利一区二区在线 | 一区二区三区免费在线观看视频 | 亚洲免费a | 在线观看免费高清视频大全追剧 | av电影在线免费观看 | 精品国产视频在线 | 亚洲国产成人av网 | 午夜影院一区 | 一区二区观看 | 91人人干 | 日本精品视频在线播放 | 天天插天天色 | av在线播放亚洲 | 九九热免费在线观看 | 国产精品一区二区电影 | av中文字幕不卡 | 久久精品国产精品亚洲精品 | 91精品国产91久久久久 | 国产精品成人久久久久久久 | 亚洲国产日韩一区 | 91av色 | 国产91精品久久久久 | 亚洲日本va午夜在线影院 | 超级碰碰免费视频 | 亚洲精品一区二区三区高潮 | 韩国精品福利一区二区三区 | 日韩午夜一级片 | 国产精品资源在线观看 | 天堂中文在线视频 | 久久久久免费看 | 日韩欧美一区二区三区在线观看 | 欧美与欧洲交xxxx免费观看 | 狠狠干夜夜 | 人人爽人人射 | 国产一线二线三线性视频 | 五月天久久| 亚洲成人资源在线观看 | www.久久久.com | 久久人操 | 激情久久影院 | 91热视频 | 一二三精品视频 | 国产97视频在线 | 成年人看片 | av中文字幕在线观看网站 | 波多野结衣视频一区 | 天天天在线综合网 | 日本高清dvd | 涩涩网站在线看 | 亚洲激情综合 | 国产精品久久久久久久久大全 | 国产色秀视频 | 免费观看福利视频 | 99精品视频在线观看 | www.夜夜操.com| 欧美日韩视频免费 | 天天综合久久 | 色com网| 特级片免费看 | 字幕网资源站中文字幕 | 在线国产一区二区三区 | 中文视频一区二区 | av日韩av| 日韩在线二区 | 国产精品国产三级国产aⅴ无密码 | 婷婷午夜激情 | 91av久久| 国产精品久久久久久久久久妇女 | 欧美91在线 | 狠狠操狠狠干天天操 | 色99在线 | 在线久久 | 久操伊人 | 91精品麻豆| 在线视频 一区二区 | 久久久久免费精品视频 | 久久高清免费 | 国产理论一区二区三区 | 成人免费观看网址 | 麻豆成人小视频 | 一级免费黄视频 | 免费网站在线观看成人 | 手机在线永久免费观看av片 | 欧美日韩在线观看不卡 | 一本一本久久a久久精品牛牛影视 | 干av在线 | 国产精品99久久久精品 | 国产精品欧美久久久久三级 | 久久久久一区二区三区 | 欧美性色综合网 | 韩国av在线播放 | 亚洲在线资源 | 色综合 久久精品 | 人人澡人人模 | 国产香蕉在线 | 国产精品人人做人人爽人人添 | 国产一区高清在线 | 98涩涩国产露脸精品国产网 | 免费国产一区二区视频 | www黄com| 国产精品18p | 欧美日韩性生活 | 91手机在线看片 | 久久视频免费在线 | 成人激情开心网 | 99精品福利视频 | ww亚洲ww亚在线观看 | 三级av中文字幕 | 婷婷色中文字幕 | 色婷婷播放 | 久久天天躁夜夜躁狠狠85麻豆 | 国产成人三级在线播放 | 欧美午夜久久久 | 国产色秀视频 | 999热线在线观看 | 婷婷黄色片 | 天天色天天综合 | 日本精品在线看 | 欧美一级电影 | 久久久久久久久毛片精品 | 日韩精品一区在线观看 | 亚洲色图 校园春色 | 丁香婷婷综合激情 | 天堂资源在线观看视频 | 亚洲专区免费观看 | 精品你懂的 | av电影中文字幕在线观看 | 超碰大片 | 国产露脸91国语对白 | 欧美精品午夜 | 最新免费av在线 | 国产精品18videosex性欧美 | 欧美一区二区免费在线观看 | 国产精品免费高清 | 国产乱码精品一区二区三区介绍 | 香蕉成人在线视频 | 日韩高清二区 | 91中文字幕一区 | av日韩在线网站 | 天天激情站 | 99久久精品国产欧美主题曲 | 在线免费观看视频你懂的 | 久久人91精品久久久久久不卡 | 欧美91视频 | 美女黄久久 | 久久tv| 亚洲伊人第一页 | 国产九色视频在线观看 | 日日夜夜爱 | 黄色国产区 | 日本中文字幕在线电影 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 中文字幕在线观看2018 | 日韩深夜在线观看 | 人人澡超碰碰97碰碰碰软件 | 国产精品美女久久久久久2018 | 国产原创在线视频 | 国产美女主播精品一区二区三区 | 又黄又爽又色无遮挡免费 | 97香蕉超级碰碰久久免费软件 | 亚洲最新av网址 | 日韩高清久久 | 色视频网站免费观看 | 999抗病毒口服液 | 国产视频在线观看免费 | 999精品在线 | www.91成人| 免费在线观看不卡av | 草草草影院 | 午夜婷婷网 | 91激情视频在线播放 | 成人黄色小说视频 | 亚洲成人在线免费 | 亚洲精品免费播放 | 在线观看 国产 | 三上悠亚一区二区在线观看 | 日躁夜躁狠狠躁2001 | 亚洲欧美日韩不卡 | 日韩h在线观看 | 中文av在线天堂 | 婷婷av在线 | 久久一区91| 五月天.com | 成人一区不卡 | 久久99精品久久久久久 | 久久这里只有精品久久 | 久久精品视频免费播放 | 夜夜骑天天操 | 狠狠干夜夜爽 | 一区二区三区四区五区在线 | 九九九视频精品 | 精品国产亚洲一区二区麻豆 | 精品国产一区在线观看 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产视频资源在线观看 | 中文在线a天堂 | 国产精品综合久久久久久 | 国产亚洲视频在线免费观看 | 狠狠干夜夜操天天爽 | 国产精品久久99精品毛片三a | 欧美精品一区二区三区一线天视频 | 亚洲撸撸| 午夜精品电影一区二区在线 | 国产美女免费视频 | 日韩视 | 国产视频一区在线免费观看 | 激情网站网址 | 免费视频xnxx com | 国产精品专区在线观看 | www国产亚洲精品久久麻豆 | 91传媒在线观看 | 久久综合中文字幕 | 久久成人视屏 | 久久精品久久精品久久 | 亚洲精品久久久久中文字幕m男 | 人人澡av| 色网免费观看 | 乱男乱女www7788 | 人人天天夜夜 | 国产精品私人影院 | 亚洲视频在线视频 | 99久久99| 久久久久久久久久久精 | 香蕉在线播放 | 久久综合99| 国产乱对白刺激视频在线观看女王 | 在线播放 亚洲 | 日韩精品视频网站 | 日韩在线观看小视频 | 麻豆精品国产传媒 | 午夜手机电影 | 九九影视理伦片 | 亚洲伊人成综合网 | 91九色蝌蚪在线 | 91麻豆精品国产自产在线 | www.色午夜.com| 日韩一级片观看 | 国产精品久久久久久久久久三级 | av在线一 | 国产一区视频在线观看免费 | 99免费国产 | 国产精品自拍av | 精品久久精品 | 97在线观视频免费观看 | 在线观看国产永久免费视频 | 天天综合天天综合 | 亚洲一级特黄 | 中文字幕在线观看免费观看 | 六月激情| 91视频久久久久 | 不卡在线一区 | 高清国产午夜精品久久久久久 | 99久久精品免费看国产免费软件 | 日韩动漫免费观看高清完整版在线观看 | 国产成人一区二 | 玖玖在线播放 | 色狠狠久久av五月综合 | 人人澡人人澡人人 | 91一区啪爱嗯打偷拍欧美 | 精品自拍av| 在线一级片 | 亚州av一区 | 国产在线视频在线观看 | 国产成人一区二区啪在线观看 | 国产理论免费 | 高清av网 | 色婷婷欧美 | 97超碰人人爱 | 久久综合偷偷噜噜噜色 | 亚洲精品啊啊啊 | 亚洲一二区精品 | 欧美大片在线观看一区 | 91精品啪在线观看国产线免费 | 精品一区二区电影 | 久久久蜜桃一区二区 | 在线成人观看 | 91香蕉视频黄色 | 欧美日本国产在线观看 | 国产精品免费在线观看视频 | 亚洲 中文字幕av | 天天色天天操综合 | 中文字幕麻豆 | 九九综合久久 | 国内久久久久 | 中文字幕乱码日本亚洲一区二区 | 综合婷婷久久 | 国产一区二区三区高清播放 | 人人玩人人添人人 | 亚洲免费公开视频 | 97国产大学生情侣酒店的特点 | 中文不卡视频 | 在线播放亚洲激情 | 99久久久久成人国产免费 | 亚洲第一区精品 | 国产精品毛片一区视频播 | 色噜噜在线观看 | 一区二区三区电影大全 | 亚洲区另类春色综合小说 | 欧美日韩高清一区二区 国产亚洲免费看 | 在线观看成人小视频 | 国产爽视频 | 欧美一区二视频在线免费观看 | 亚洲人成人99网站 | 日韩专区一区二区 | 综合成人在线 | 丁香六月在线观看 | 久精品一区| 欧美一区二区三区在线 | 国产a国产a国产a | 亚洲 欧美 日韩 综合 | 国产色视频123区 | 天天爽天天碰狠狠添 | 日韩欧美视频在线观看免费 | 国产在线精品播放 | 国产美女在线观看 | 成人毛片100免费观看 | 亚洲一级电影 | 久久伊人五月天 | 亚洲 欧美 综合 在线 精品 | 国产在线精品国自产拍影院 | 96亚洲精品久久 | 黄色字幕网 | 成人av一区二区在线观看 | 欧美va日韩va | 首页中文字幕 | 欧美 日韩 国产 成人 在线 | 午夜视频在线观看一区二区三区 | 在线黄av| 色婷婷激情电影 | 久草资源在线观看 | 欧美福利在线播放 | 99精品小视频 | www.成人精品 | 视频精品一区二区三区 | 97国产超碰在线 | 久久九九久久精品 | 久久久久久久久久久福利 | 狠狠色丁香久久婷婷综 | 欧美精品免费在线观看 | 国产资源在线免费观看 | 国产视频网站在线观看 | 亚洲国产日韩av | 蜜臀一区二区三区精品免费视频 | 国产九九热| 99爱国产精品 | 国产精品美女久久久免费 | 在线国产精品一区 | 亚洲综合色婷婷 | 欧美日韩精品在线一区二区 | 成人黄性视频 | 波多野结衣在线播放一区 | 在线亚洲小视频 | 中文字幕在线第一页 | 啪啪午夜免费 | 中文不卡视频 | 天天曰天天干 | 国产在线色 | 激情导航| 久久久久久久久久久久av | 免费在线成人av电影 | 国产伦精品一区二区三区免费 | 午夜在线观看一区 | 国产精品18久久久久久vr | 日韩欧美国产免费播放 |