お世話になります。
シェルスクリプトを使い、サーバAからサーバBへファイルを定期的にコピーしようと、以下のシェルスクリプトを作りました。
test.sh
=================
#!bin/sh
HOST1=hostB.com (さくらVPSサーバ)
USER1=hugahuga
PASS1=hogehoge
TARGET_DIR1=/home/user/data/ #サーバB(転送先)のディレクトリ
BACKUP_DIR1=/home/user/data_new/* #サーバA(転送元)のディレクトリ
expect -c "
set timeout 30
spawn scp ${BACKUP_DIR1} ${USER1}@${HOST1}:${TARGET_DIR1}
expect {
\" Are you sure you want to continue connecting (yes/no)? \" {
send \"yes\r\"
expect \"password:\"
send \"${PASS1}\r\"
} \"password:\" {
send \"${PASS1}\r\"
}
}
interact
"
=================
sh test.sh
すると、以下のようなエラーが出ます。。
/home/user/data_new/*: No such file or directory
そのまんまだとは思うのですが、ファイルもディレクトリもありますし、上記スクリプトのSCPコマンド部分をコピペして、シェル上で実行すると普通にうまくいきます。
サーバAもBもUbuntu12.04です。
一体何が原因なのでしょうか・・
No.2ベストアンサー
- 回答日時:
rsyncなどで処理した方がよいのでは?
No.1
- 回答日時:
>/home/user/data_new/*: No such file or directory
エラーメッセージの通り、*というディレクトリが無いのでしょう。
>上記スクリプトのSCPコマンド部分をコピペして、シェル上で実行すると普通にうまくいきます。
シェルが*を展開しているから……でしょう。
BACKUP_DIR1=`ls /home/user/data_new/*`
としてみたらどうでしょうか?
# ` は日本語キーボードの設定ならShift+@なのでご注意を。
# Shift+7の方の記号ではありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- 戦争・テロ・デモ ウクライナ、メル友に五千円要求されてさ 1 2022/04/02 09:38
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- PHP php ログイン 1 2022/11/01 00:24
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルスクリプトを使ったSCPの...
-
ls -1R の結果をフルパスで欲しい
-
Windowsのローカルディレクトリ...
-
tarで纏める際に、複数場外した...
-
ln ハードリンクをワイルドカー...
-
"no space left on device"と出...
-
rc.d や init.d の 「.d」の意味
-
ブレース展開の使い方での質問です
-
tar.bz2ファイルのインストール...
-
tarでフォルダに上書き
-
パスの設定とかパスを通すって...
-
zshのコマンド履歴がヒストリフ...
-
win7のコマンドプロンプトで一...
-
SONYの音楽ソフト「x-アプリ」...
-
iqoo neo 9と言うスマホがある...
-
windows10のごみ箱をrd /s /q C...
-
TOPコマンドで表示するCPU使用...
-
Dirコマンドでフォルダ内ファイ...
-
マウントしたUSBメモリに書き込...
-
自動パスワード入力でscpするス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
net use /d の強制実行
-
Windowsのローカルディレクトリ...
-
tarで纏める際に、複数場外した...
-
tar.bz2ファイルのインストール...
-
コマンドプロンプトでコマンド...
-
誤って/home配下を削除してしま...
-
sylpheedメールソフト 受信でき...
-
Apache2.4のダウンロードについて
-
tarでフォルダに上書き
-
rmとrmdirについて
-
rc.d や init.d の 「.d」の意味
-
ブレース展開の使い方での質問です
-
DOSコマンドで cmd /c rd /s /...
-
ls -1R の結果をフルパスで欲しい
-
Linuxのスラッシュ,ピリオドの...
-
ImageMagickの使い方を教えて下...
-
ln ハードリンクをワイルドカー...
-
PATHを使ってcdなどで簡単に移...
-
絶対パスでアーカイブされたフ...
-
FTPのエラーメッセージで質問で...
おすすめ情報