Centos 6.5 VPSサーバーに奇妙なハードリンクがあります。人が作ったと思いますが、私が作ったのではありません。
df
情報を教えてください。
[root@root]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/simfs 209715200 128660820 81054380 62% /
none 4194304 4 4194300 1% /dev
none 4194304 0 4194304 0% /dev/shm
/dev/simfs 209715200 128660820 81054380 62% /var/www/username/data/www/test.site.biz/photo
ls -li
有用な言葉はしませんでした。
[root@vz65646 test.site.biz]# ls -li
total 7952
79435160 drwxr-xr-x 2 someuser someuser 8130560 Oct 25 20:52 photo
ハードリンクフォルダはですphoto
。私の間違いでrm -rf test.site.biz
悪いことが起こりました。つまり、他の場所の写真カタログがきれいになりました。
データ復旧は不可能だと思います。しかし、同じ間違いを2回繰り返さないために、ここで何が起こっているのかを把握したいと思います。
どんなアドバイスも本当にありがとうございます。
答え1
同じデバイス名、同じディスク使用量など、同じ特性を持つ2つのマウントされたファイルシステムがあります。実際、これらは同じデバイスである可能性が高いです。たとえば、同じネットワークファイルシステムを別の場所にマウントすると、これが発生する可能性があります。これが次のローカルファイルシステムであることを考えるとソースジェダイコメントで指摘したように、その可能性が高いです。バインドマウント、同様のコマンドで生成されますmount --bind /origin /var/www/username/data/www/test.site.biz/photo
。
システムが十分に新しい場合は、次のことができます。findmnt
バインドマウントであることを確認するために使用されます。。ただし、とにかくほとんどのファイルシステムタイプは同時に別の場所にマウントできないため、同じデバイスを持っている場合はバインドマウントであることを証明するのに十分です。
バインドマウントは、さまざまな場所のディレクトリツリービューを提供します。バインドマウントからファイルにアクセスするという点では、ツリーにシンボリックリンクがあるのと似ています。つまり、へのシンボリックリンクであるのと/var/www/username/data/www/test.site.biz/photo/somefile
同じファイルです。しかし、これはシンボリックリンクではなくディレクトリです。/origin/somefile
/var/www/username/data/www/test.site.biz/photo
/origin
/var/www/username/data/www/test.site.biz/photo
/var/www/username/data/www/test.site.biz/photo
ディレクトリなので、再帰巡回がディレクトリ内に深く入ります。したがって、rm -rf
以下のファイルは削除されました/original
。なぜなら、/original
とは/var/www/username/data/www/test.site.biz/photo
同じディレクトリにありますが、偶然別の場所に表示されるからです。
答え2
私はこれについていくつか考えました。
mount --bind
自分が何をしているのかを正確に知るまでは、これは悪い考えです。シンボリックリンクを使用する方が良いです。- フォルダを使用している場合、インストールを検出するのは困難です。これは一種のサーバー範囲です(フォルダを移動するときに考えるのとは異なります)。
umount your_directory
元のフォルダを壊さずにバインディングを削除します。- コマンドを使用すると、すべてのインストールを一覧表示できます
findmnt
。バインドマウントには角かっこがあります。