|
@@ -30,7 +30,7 @@ do
|
|
|
echo 'Please select your backup destination:'
|
|
|
echo -e "\t${CMSG}1${CEND}. Only Localhost"
|
|
|
echo -e "\t${CMSG}2${CEND}. Only Remote host"
|
|
|
- echo -e "\t${CMSG}3${CEND}. Localhost and remote host"
|
|
|
+ echo -e "\t${CMSG}3${CEND}. Localhost and Remote host"
|
|
|
read -p "Please input a number:(Default 1 press Enter) " DESC_BK
|
|
|
[ -z "$DESC_BK" ] && DESC_BK=1
|
|
|
if [ $DESC_BK != 1 -a $DESC_BK != 2 -a $DESC_BK != 3 ];then
|
|
@@ -40,9 +40,29 @@ do
|
|
|
fi
|
|
|
done
|
|
|
|
|
|
-[ "$DESC_BK" == '1' ] && { sed -i 's@^local_bankup_yn=.*@local_bankup_yn=y@' ./options.conf; sed -i 's@remote_bankup_yn=.*@remote_bankup_yn=n@' ./options.conf; }
|
|
|
-[ "$DESC_BK" == '2' ] && { sed -i 's@^local_bankup_yn=.*@local_bankup_yn=n@' ./options.conf; sed -i 's@remote_bankup_yn=.*@remote_bankup_yn=y@' ./options.conf; }
|
|
|
-[ "$DESC_BK" == '3' ] && { sed -i 's@^local_bankup_yn=.*@local_bankup_yn=y@' ./options.conf; sed -i 's@remote_bankup_yn=.*@remote_bankup_yn=y@' ./options.conf; }
|
|
|
+[ "$DESC_BK" == '1' ] && sed -i 's@^backup_destination=.*@backup_destination=local@' ./options.conf
|
|
|
+[ "$DESC_BK" == '2' ] && sed -i 's@^backup_destination=.*@backup_destination=remote@' ./options.conf
|
|
|
+[ "$DESC_BK" == '3' ] && sed -i 's@^backup_destination=.*@backup_destination=local,remote@' ./options.conf
|
|
|
+
|
|
|
+while :
|
|
|
+do
|
|
|
+ echo
|
|
|
+ echo 'Please select your backup content:'
|
|
|
+ echo -e "\t${CMSG}1${CEND}. Only Database"
|
|
|
+ echo -e "\t${CMSG}2${CEND}. Only Website"
|
|
|
+ echo -e "\t${CMSG}3${CEND}. Database and Website"
|
|
|
+ read -p "Please input a number:(Default 1 press Enter) " CONTENT_BK
|
|
|
+ [ -z "$CONTENT_BK" ] && CONTENT_BK=1
|
|
|
+ if [ $DESC_BK != 1 -a $DESC_BK != 2 -a $DESC_BK != 3 ];then
|
|
|
+ echo "${CWARNING}input error! Please only input number 1,2,3${CEND}"
|
|
|
+ else
|
|
|
+ break
|
|
|
+ fi
|
|
|
+done
|
|
|
+
|
|
|
+[ "$CONTENT_BK" == '1' ] && sed -i 's@^backup_content=.*@backup_content=db@' ./options.conf
|
|
|
+[ "$CONTENT_BK" == '2' ] && sed -i 's@^backup_content=.*@backup_content=web@' ./options.conf
|
|
|
+[ "$CONTENT_BK" == '3' ] && sed -i 's@^backup_content=.*@backup_content=db,web@' ./options.conf
|
|
|
|
|
|
. ./options.conf
|
|
|
. ./include/check_db.sh
|
|
@@ -71,46 +91,50 @@ do
|
|
|
done
|
|
|
sed -i "s@^expired_days=.*@expired_days=$expired_days@" ./options.conf
|
|
|
|
|
|
-databases=`$db_install_dir/bin/mysql -uroot -p$dbrootpwd -e "show databases\G" | grep Database | awk '{print $2}' | grep -Evw "(performance_schema|information_schema|mysql|sys)"`
|
|
|
-while :
|
|
|
-do
|
|
|
- echo
|
|
|
- echo "Please enter one or more name for database, separate multiple database names with commas: "
|
|
|
- read -p "(Default database: `echo $databases | tr ' ' ','`) " db_name
|
|
|
- db_name=`echo $db_name | tr -d ' '`
|
|
|
- [ -z "$db_name" ] && db_name="`echo $databases | tr ' ' ','`"
|
|
|
- D_tmp=0
|
|
|
- for D in `echo $db_name | tr ',' ' '`
|
|
|
+if [ "$CONTENT_BK" != '2' ];then
|
|
|
+ databases=`$db_install_dir/bin/mysql -uroot -p$dbrootpwd -e "show databases\G" | grep Database | awk '{print $2}' | grep -Evw "(performance_schema|information_schema|mysql|sys)"`
|
|
|
+ while :
|
|
|
do
|
|
|
- [ -z "`echo $databases | grep -w $D`" ] && { echo "${CWARNING}$D was not exist! ${CEND}" ; D_tmp=1; }
|
|
|
+ echo
|
|
|
+ echo "Please enter one or more name for database, separate multiple database names with commas: "
|
|
|
+ read -p "(Default database: `echo $databases | tr ' ' ','`) " db_name
|
|
|
+ db_name=`echo $db_name | tr -d ' '`
|
|
|
+ [ -z "$db_name" ] && db_name="`echo $databases | tr ' ' ','`"
|
|
|
+ D_tmp=0
|
|
|
+ for D in `echo $db_name | tr ',' ' '`
|
|
|
+ do
|
|
|
+ [ -z "`echo $databases | grep -w $D`" ] && { echo "${CWARNING}$D was not exist! ${CEND}" ; D_tmp=1; }
|
|
|
+ done
|
|
|
+ [ "$D_tmp" != '1' ] && break
|
|
|
done
|
|
|
- [ "$D_tmp" != '1' ] && break
|
|
|
-done
|
|
|
-sed -i "s@^db_name=.*@db_name=$db_name@" ./options.conf
|
|
|
+ sed -i "s@^db_name=.*@db_name=$db_name@" ./options.conf
|
|
|
+fi
|
|
|
|
|
|
-websites=`ls $wwwroot_dir | grep -vw default`
|
|
|
-while :
|
|
|
-do
|
|
|
- echo
|
|
|
- echo "Please enter one or more name for website, separate multiple website names with commas: "
|
|
|
- read -p "(Default website: `echo $websites | tr ' ' ','`) " website_name
|
|
|
- website_name=`echo $website_name | tr -d ' '`
|
|
|
- [ -z "$website_name" ] && website_name="`echo $websites | tr ' ' ','`"
|
|
|
- W_tmp=0
|
|
|
- for W in `echo $website_name | tr ',' ' '`
|
|
|
+if [ "$CONTENT_BK" != '1' ];then
|
|
|
+ websites=`ls $wwwroot_dir | grep -vw default`
|
|
|
+ while :
|
|
|
do
|
|
|
- [ ! -e "$wwwroot_dir/$W" ] && { echo "${CWARNING}$wwwroot_dir/$W not exist! ${CEND}" ; W_tmp=1; }
|
|
|
+ echo
|
|
|
+ echo "Please enter one or more name for website, separate multiple website names with commas: "
|
|
|
+ read -p "(Default website: `echo $websites | tr ' ' ','`) " website_name
|
|
|
+ website_name=`echo $website_name | tr -d ' '`
|
|
|
+ [ -z "$website_name" ] && website_name="`echo $websites | tr ' ' ','`"
|
|
|
+ W_tmp=0
|
|
|
+ for W in `echo $website_name | tr ',' ' '`
|
|
|
+ do
|
|
|
+ [ ! -e "$wwwroot_dir/$W" ] && { echo "${CWARNING}$wwwroot_dir/$W not exist! ${CEND}" ; W_tmp=1; }
|
|
|
+ done
|
|
|
+ [ "$W_tmp" != '1' ] && break
|
|
|
done
|
|
|
- [ "$W_tmp" != '1' ] && break
|
|
|
-done
|
|
|
-sed -i "s@^website_name=.*@website_name=$website_name@" ./options.conf
|
|
|
+ sed -i "s@^website_name=.*@website_name=$website_name@" ./options.conf
|
|
|
+fi
|
|
|
|
|
|
echo
|
|
|
echo "You have to backup the content:"
|
|
|
-echo "Database: ${CMSG}$db_name${CEND}"
|
|
|
-echo "Website: ${CMSG}$website_name${CEND}"
|
|
|
+[ "$CONTENT_BK" != '2' ] && echo "Database: ${CMSG}$db_name${CEND}"
|
|
|
+[ "$CONTENT_BK" != '1' ] && echo "Website: ${CMSG}$website_name${CEND}"
|
|
|
|
|
|
-if [ "$remote_bankup_yn" == 'y' ];then
|
|
|
+if [ "$DESC_BK" == '2' -o "$DESC_BK" == '3' ];then
|
|
|
> tools/iplist.txt
|
|
|
while :
|
|
|
do
|
|
@@ -131,10 +155,9 @@ if [ "$remote_bankup_yn" == 'y' ];then
|
|
|
[ -e "~/.ssh/known_hosts" ] && grep $remote_ip ~/.ssh/known_hosts | sed -i "/$remote_ip/d" ~/.ssh/known_hosts
|
|
|
./tools/mssh.exp ${IPcode}P $remote_user ${PWcode}P ${Portcode}P true 10
|
|
|
if [ $? -eq 0 ];then
|
|
|
- [ -z "`grep $remote_ip tools/iplist.txt`" ] && echo "$remote_ip $remote_port $remote_user $remote_password" >> tools/iplist.txt || echo "${CWARNING}$remote_ip has been added! ${CEND}"
|
|
|
+ [ -z "`grep $remote_ip tools/iplist.txt`" ] && echo "$remote_ip $remote_port $remote_user $remote_password" >> tools/iplist.txt || echo "${CWARNING}$remote_ip has been added! ${CEND}"
|
|
|
while :
|
|
|
do
|
|
|
- echo
|
|
|
read -p "Do you want to add more host ? [y/n]: " more_host_yn
|
|
|
if [ "$more_host_yn" != 'y' -a "$more_host_yn" != 'n' ];then
|
|
|
echo "${CWARNING}input error! Please only input 'y' or 'n'${CEND}"
|