電子書籍の厳選無料作品が豊富!

現在仮想マシン4台作成していて、全てOSのフルバックアップを取り、それをバックアップサーバーに保存しようと考えています。現在1台目のOSのフルバックで、Mondo Rescueというツールを使いバックアップを取りました。
これをバックアップサーバーの特定のディレクトリに置きたいと思っていて、転送する際にrsyncを使って転送したところ、コマンドで転送した際には問題なく転送できたのですが、シェルスクリプトにexpectコマンドで自動パスワード入力を出来るようにしながら、rsyncで送るということをしたくて組んだのですが、途中で送るのが途切れてしまって、何回かサイトを探して試してみたのですがうまく行かず、手詰まっているので、これの対処法などがありましたら教えてください。

環境
ホストOS Windows10
ゲストOS CentOS7.6
ESXi5.5

シェルの中身

#!/bin/bash

###########################################################################
#作成日:
#作成者:
#タイトル:OSのシステムバックアップ
#使用方法:sh backup01.sh
#使用要件:定期的なOSのシステムバックアップ
#更新日:
#更新内容:
###########################################################################


#変数定義
DATE=$(date +"%Y%m%d")
PW="admin"

#バックアップコマンド
mondoarchive -Oi -s 4480m -d /opt/backup/iso/file/MariaDB -E /opt/backup/iso -S /opt/backup/iso/scratch -T /opt/backup/iso/tmp -p MariaDB_$DATE

#isoファイル生成後の変数定義
ISOFILE=$(find /opt/backup/iso/file/MariaDB/*  -type f | grep $DATE)

#rsyncコマンドでバックアップサーバーに転送
if [ $? -eq 0 ]; then
  echo "転送を始めます"

expect -c "

set taimeout 5

spawn rsync -av ${ISOFILE} infra@192.168.10.5:/home/infra/backup/MariaDB

expect \"password:\"

send \"${PW}\n\"

expect \"\\\$\"

exit 0

"
else
  echo "エラーが発生しました"
fi

A 回答 (1件)

どこの部分で途切れるのかによりますが、expectが問題ならパスワードなしの鍵を作って鍵認証にしてみてはいかがでしょうか?


私はいつもそうしてます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!