タグ付けされた質問 「hardlink」



8
rsyncを使用してディレクトリツリーを複製し、ファイルへのハードリンクを作成するにはどうすればよいですか?
時々、サーバー上のデータファイルに対していくつかの大きな移行の変更を実行する必要があり、これを行うための良い方法を探しています。ルートデータフォルダーからディレクトリ構造を複製するためにrsyncを使用して、すべての元のファイル(一部はかなり大きい)へのハードリンクを作成することを考えていました。移行先のツリーでは、移行が必要なファイルのみを上書きできます。最終的に、2つのmv操作で古いファイルから新しいファイルに安全に切り替えることができます。 ただし、これを行うためにrsyncを取得することはできません。私は試した rsync -a --link-dest=$DATA $DATA $DATA/../upgrade_tmp しかし、ファイルへのハードリンクを作成する代わりに、rsyncはそれらを完全にコピーします。同じソースとリンク先のディレクトリを使用して問題がありますか?

3
ディレクトリのコピーオンライトコピーを作成する方法はありますか?
私は、ディレクトリのコピーを作成し、いくつかのファイルを微調整し、その結果に対していくつかの処理を行うようなものがある状況を考えています。これはかなり頻繁に、おそらく1日に数十回行われます。(正確な使用例は、パッチの提出をテストすることです。コードを複製し、パッチを当て、ビルド/テスト/レポート/などを行います。) 私が探しているのは、新しいディレクトリ構造を作成し、そのディレクトリ構造に、オリゴナルからのハードリンクを追加することです。ただし、これは、使用するすべてのツールがファイルを編集するのではなく、削除して再作成する場合にのみ機能します。 ファイルシステムにファイルのコピーオンライトを実行させる方法はありますか? 注:多くのFSはブロックレベルでCOWを使用します(すべての更新は新しいブロックへの書き込みを介して行われます)が、これは私が望むものではありません。


5
mklinkのGUI
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 ハードリンク/ソフトリンク/ジャンクションを作成するためのGUIツールを知っていますか?

3
何百万ものハードリンクでファイルシステムをミラーリングする方法は?
現時点で1つの大きな問題があります。顧客の1人のファイルシステムをミラーリングする必要があります。それは通常、実際には問題ではありませんが、次のとおりです。 このファイルシステムには、数百万のハードリンクを持つフォルダーが1つあります(はい!数百万!)。rsyncファイルリストを作成するには4日以上かかります。 次のrsyncオプションを使用します。 rsync -Havz --progress serverA:/data/cms /data/ 誰もこのrsyncを高速化する方法、または代替手段を使用する方法を考えていますか?ddターゲットディスクはソースより小さいため、使用できませんでした。 UPDATE: オリジナルのファイルシステムがあるのでext3、我々がしようとしますdumpとrestore。更新します

2
フォルダー内のすべてのハードリンクを解除する
(同じフォルダーまたは別の場所に)ハードリンクが設定された特定の数のファイルを含むフォルダーがあり、これらのファイルのハードリンクを解除したいので、それらのファイルは独立し、内容の変更が影響を与えません他のファイル(リンク数は1になります)。 以下では、基本的に各ハードリンクを別の場所にコピーしてから元の場所に戻すソリューションを示します。 ただし、この方法はかなり粗雑でエラーが発生しやすいので、ファイルのハードリンクを解除するコマンドがあるかどうかを知りたいのですが。 粗野な答え: ハードリンクのあるファイルを検索します(編集:ハードリンクのあるソケットなども検索するには、を使用しますfind -not -type d -links +1): find -type f -links +1 # files only find -not -type d -links +1 # files, sockets etc. ファイルをハードリンク解除する別の方法(ファイルを別の場所にコピーして元に戻す): 編集: Celadaが言ったように、タイムスタンプと権限が失われないように、以下のcp -pを実行するのが最善です。 編集: 一時ディレクトリを作成し、その下のファイルにコピーします。一時ファイルを上書きする代わりに、一部のデータを上書きするリスクを最小限に抑えますが、mvコマンドは依然として危険です(@Tobuに感謝)。 編集: 同じファイルシステム(@MikkoRantalainen)に一時ディレクトリを作成してみてください。 # This is unhardlink.sh set -e for i in "$@"; do temp="$(mktemp -d -- …
10 unix  hardlink 

3
2つのパーティション間にシンボリックリンク(ln)を作成する方法
Ubuntu 10.04.3サーバーに2つのパーティションがあります。 パーティション1:/ mnt / storage / パーティション2:/ var / www / myweb / 次のコマンドを実行すると $ ln /mnt/storage/sourcefile.txt /var/www/myweb/linkedfile.txt 私はこれを得た ln:ハードリンクの作成 `/var/www/myweb/linkedfile.txt '=>` sourcefile.txt':無効なクロスデバイスリンク このシンボリックリンクを作成する方法のアイデア??
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.