コマンドを使用してファイル名を取得すると、SCPは機能しません。

コマンドを使用してファイル名を取得すると、SCPは機能しません。

バックアップインポートスクリプトを自動化しようとしています。

これを行うには、次のコマンドを使用して最後のバックアップファイル名を取得します。

BACKUP_NAME=$(ssh [email protected] "ls -w1 /mnt/prod_backup" | tail -1)

その後、使用します。

scp -3 user@$YY.YY.YY.YY:/mnt/prod_backup/$BACKUP_NAME /home/coldstorage_import/

ローカルデータベースの復元に使用できるようにファイルをダウンロードしようとしています。

ただし、次のエラーが発生します。

: No such file or directoryackup/backup_prod_2021-11-29-03-00-01.sql

パッチエラーが間違っているようです。

ファイル名を手動でコピー/貼り付けてファイルをダウンロードしようとすると、コマンドは機能します。

私の推測では、どこかに特殊/隠されたキャラクターがあるかもしれませんが、理解することはできません。

編集する:

このコマンドを実行するときに隠された文字を確認してください

echo $BACKUP_NAME | cat -v

わかりました。

bizstore_backup_prod_2021-11-16-03-00-01.sql^M

^M正常なのかよくわかりません。

ベストアンサー1

-tコマンドから削除するsshと、^Mファイル名には表示されません。

BACKUP_NAME="$(ssh [email protected] "ls -w1 /mnt/prod_backup" | tail -1)"

おすすめ記事