温故知新 linux実践講座

温故知新 linux実践講座

温故知新。linuxを使いこなしてみよう。

ホーム » コマンド入門 » except コマンドを使って、複数のファイルをリモートのコンピュータにコピーする

— 広告 —


— 広告 —

except コマンドを使って、複数のファイルをリモートのコンピュータにコピーする

所要時間 約 3分

#!/bin/bash
 
PATH=/usr/local/sbin:/usr/bin:/bin
 
DATADIR=/backup
cd ${DATADIR}
 
HOST=192.168.0.XXX
USER=XXXXX
PASS=XXXXX
TARGET_DIR=/mnt/backupdir/
 
# コピー先の古いファイルを削除
expect -c "
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_DIR}\r\"
expect \"\[${USER}@srv ~\]$\"
send \"rm -f ${TARGET_DIR}/${SRC_FILE}*.tar.bz2\r\"
expect \"\[${USER}@srv ~\]$\"
send \"exit\r\"
interact
"
 
# ファイルをリモートのディレクトリにコピーする
for f in `find ${DATADIR} -name "backup*.tar.bz2" -type f -print`
do
expect -c "
set timeout -1
spawn scp $f ${USER}@${HOST}:${TARGET_DIR}
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
"
done
-- 広告 -- -- 広告 --

 

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

アフィリエイトで稼ぐ
プロフィール

ぴよふぁくとりぃです。

職業は自宅でサーバ管理、資格は薬剤師です。
趣味も職業もパソコンラブです。
よろしくね。
連絡先: admin@arakanoj.com
URL: http://piyofactory.com

検索
人気ページ
東京電力予想最大電力(万kW)
twitter
使い方を知れば知るほど楽しく使える Linux。
Linux の基本を覚えてもっともっと楽しいコンピュータの使い方を身につけましょう。