ssh server ls /var/lib/edumate/backup/weekly/*DBB*
1つのファイルを返す
/var/lib/edumate/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001
ssh server ls /data/backup/weekly/*DBB*
マウントされたリンクディレクトリにあるものを返します
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120513020022.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120520020018.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120527020019.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120603020028.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120710120854.001
/data
別のパーティションのどこにあるのか
/dev/sdb2 on /data type ext3 (rw,acl,user_xattr)
バックアップはシンボリックリンクです/data/backup
lrwxrwxrwx 1 root root 12 Jul 10 14:27 backup -> /data/backup/
もちろん、マウント/リンクされたディレクトリのファイルのリストを取得したいのですが、何か方法はありますか?/var/lib/edumate/backup
どのように使えるかls
リンクされたものと違いますか?scp
同じように動作しますか?
答え1
ssh
おそらく、 を実行したクライアント マシンにも という名前のディレクトリがあると思われます/var/lib/edumate/backup/weekly
。 を実行した時点では、クライアント マシンのそのディレクトリには 1 つのファイルしか含まれていませんでした。しかし、現在は期待どおりのファイルがすべて含まれています。
ワイルドカードのマッチングは、サーバーではなくクライアント マシンで行われます。その時点では、おそらく 1 つのファイルしかありませんでした。したがって、サーバーがコマンドから受け取ったのは次のようになります。
ls /var/lib/edumate/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001
今後これを防ぐには、次のように引用符を付けてコマンドを実行します。
ssh server ls "/var/lib/edumate/backup/weekly/*DBB*"
ワイルドカードは、クライアント マシン上のシェルによって展開されるのではなく、サーバーに渡されます。