1.先實現scp,拷貝不需要密碼。然后在考慮增量備份
假設A,B兩服務器,現在需要在A機上用root登陸B機,而不需要輸入密碼,那我們可按照下面的步驟來做:
1)在A機上生成鑰匙對,執行以下命令:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
Enter passphrase (empty for no passphrase):直接回車
Enter same passphrase again:直接回車
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@host1
這樣,在/root/.ssh/路徑下會生成id_rsa,和id_rsa.pub,其中id_rsa是密鑰,id_rsa.pub是公鑰。
2)把在A機生成的id_rsa.pub拷貝到B機上,假設拷貝到B機的臨時目錄下,如:
scp /root/.ssh/id_rsa.pub root@192.168.1.22:/tmp
3)用root帳號登陸B機,進入其主目錄,創建authorized_keys文件,并設置好權限。
cd ~/.ssh
cat /tmp/id_rsa.pub >>authorized_keys
chmod400 authorized_keys
rm -f /tmp/id_rsa.pub
4)重新打開A的鏈接窗口,命令行下輸入
ssh 192.168.1.22
就可以看到直接進入了。
2.mysql備份數據庫的腳本
only_mysql.sh腳本內容如下
MY_USER="root"
MY_PASS="123456"
MY_HOST="localhost"
MY_CONN="-u $MY_USER -p$MY_PASS -h$MY_HOST"
MY_DB1="discuz"
BF_DIR="/root/sqlback/"
BF_CMD="/usr/bin/mysqldump"
#BF_TIME=`date +%Y%m%d-%H%M`
BF_TIME=`date +%Y%m%d`
NAME_1="$MY_DB1-$BF_TIME"
cd $BF_DIR/
$BF_CMD $MY_CONN --databases $MY_DB1 > $NAME_1.sql
/bin/tar zcf $NAME_1.tar.gz $NAME_1.sql --remove &> /dev/null
3.scp實現增量備份
scp.sh腳本如下內容“
MY_DB1="discuz"
BF_TIME=`date +%Y%m%d`
NAME_1="$MY_DB1-$BF_TIME"
/usr/bin/scp /root/sqlback/$NAME_1.tar.gz 192.168.1.22:/root/sqlback/
4.添加到任務計劃,搞定!
@import url(http://m.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
posted on 2016-11-19 12:54
聶文龍 閱讀(987)
評論(0) 編輯 收藏 引用