Linux実践講座

Linux実践講座

コンピュータを便利に使う tips などをメモ

--- 広告 ---
--- 広告 ---

linux バックアップスクリプト scp

読了までの目安時間:約 3分

バックアップをする時にリモート側のディレクトリを削除してからバックアップをするために expect を使用しました。

#!/bin/bash

cd /backup

HOST=192.168.0.X
USER=ユーザー名
PASS=パスワード
TARGET_FILE=/backupdyndns
SRC_FILE=backup.tar.bz2
MYSQL_FILE=/backupdyndns/mysql

expect -c "
set timeout  3
spawn ssh ${USER}@${HOST}
expect {
\"Enter passphrase for key '/root/.ssh/id_rsa':\" {
send \"\r\"
expect \"${USER}@${HOST}'s password:\"
send \"${PASS}\r\"
} \"${USER}@${HOST}'s password:\" {
send \"${PASS}\r\"
}
}
send \"\r\"
expect \"\[${USER}@srv ~\]$\"
send \"cd ${TARGET_FILE}\r\"
expect \"\[${USER}@srv ~\]$\"
send \"rm -rf ${MYSQL_FILE}\r\"
expect \"\[${USER}@srv ~\]$\"
send \"exit\r\"
interact
"
expect -c "
set timeout 3
spawn sudo scp -rp /backup/mysql ${USER}@${HOST}:${TARGET_FILE}
expect {
\"Enter passphrase for key '/root/.ssh/id_rsa':\" {
send \"\r\"
expect \"${USER}@${HOST}'s password:\"
send \"${PASS}\r\"
} \"${USER}@${HOST}'s password:\" {
send \"${PASS}\r\"
}
}
expect eof
"
--- 広告 ---
--- 広告 ---

 

この記事に関連する記事一覧

無料メルマガ登録
最近の投稿
 
%d人のブロガーが「いいね」をつけました。