先ほどした質問と似ている質問で申し訳ないのですが、(若干違います)
sshで192.168.1.50に接続して、grepでD:\samba-backup\tmpの中を探して、
"bk-日付.tar"という名前のファイルがあれば"backup = O"、なければ"backup = O"と表示されるようにしたいと思い以下のようにシェルスクリプトを書きました。
if expect -c " set timeout 5 spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\samba-backup\tmp expect \"password\" send \"パスワード\n\" expect eof exit "|grep "bk-$(日付).tar" then echo "backup = O" else echo "backup = X" fi
先ほどの質問と違う点はD:\samba-backupの下にtmpというフォルダを作り、その中にバックアップファイル(bk-日付.tar)を置いています。
実行すると"backup = O"と表示されると思ったのですが、"backup = X"と表示されます。
tmpフォルダには"bk-日付.tar"という名前のファイルが確かに置いてあります。
どうすれば"backup = O"と表示されるようになるのか教えてください。よろしくお願いいたします。
【実行結果】
【tmpフォルダ(192.168.1.50)】
追記【前回成功したスクリプト】
変えたのは3行目のd:\samba-backupをd:\samba-backup\tmpにした所だけです。
if expect -c " set timeout 5 spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\samba-backup expect \"password\" send \"パスワード\n\" expect eof exit "|grep "bk-$(日付).tar" then echo "backup = O" else echo "backup = X" fi
回答2件
あなたの回答
tips
プレビュー