備份腳本


第一次自己寫的完善的備份腳本,很高興


       使用的tar,和if 備份,比較靈活,可以讓用戶自己輸入需要備份的文件或者目錄和輸入備份的目標地址,能夠檢查備份的文件或文件夾是否存在,並做出相應的操作,如果目標地址不存在,則顯示備份失敗,提示輸入正確的目標地址。

---------------------------------------------------------------------------------------------------------

#!/bin/bash
read -p "請輸入你需要備份的文件,如/etc/,/etc/passwd:" SPATH
read -p "請輸入備份文件的目的目錄:" DPATH
if [ ! -d "$DPATH" ];then
echo -e "\033[31m $DPATH 不存在,請輸入正確的目標目錄\033[0m"
echo -e "備份\033[31m 失敗\033[0m"
exit
fi

if [ -d "$SPATH" ];then

cd $SPATH  > /dev/null
tar cvf - . | tar xvf - -C $DPATH > /dev/null
if [ $? = 0 ];then
echo -e "備份\033[32m 成功\033[0m."
echo "*****************************************"
echo -e  "這是個\033[32m 目錄\033[0m,備份如下:"
echo "ls -ltr $DPATH"
ls  -ltr  $DPATH
else
echo -e "備份\033[31m 失敗\033[0m."
fi
fi
if [ -f "$SPATH" ] ;then
filedir=`dirname $SPATH`
filebase=`basename $SPATH`
cd $filedir
tar cvf - $filebase | tar xvf - -C $DPATH > /dev/null
if [ $? = 0 ];then
echo -e "備份 \033[32m 成功 \033[0m."
echo "*****************************************"
echo -e  "這是一個\033[32m 文件\033[0m,備份如下:"
echo "ll -ltr $DPATH"
ls  -ltr  $DPATH
else
echo -e "備份\033[31m 失敗\033[0m."
fi
fi
if [ ! -d "$SPATH" ]  && [ ! -f "$SPATH" ] ;then
echo -e "\033[31m 不好意思,系統不能備份,因爲您輸入的路徑不存在\033[0m."
exit
fi
----------------------------------------------------------------------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章