web-dev-qa-db-ja.com

NASにコピーするときにファイルの変更時間を保存するにはどうすればよいですか?

最近、ネットワークにSynology DiskStationをインストールしました。 Nautilus 3.4.2のBrowse Networkボタンを使用して、Ubuntu 12.04.1コンピューターからマウントしました。 Nautilusではafp://[email protected]/photo/として表示されます。

ここまでは順調ですね。その後、たくさんの写真をアップロードしましたが、すべての変更には数か月かかりました。 DiskStationの写真のディレクトリを見ると、ソースコンピューターの変更時間ではなく、コピーされた瞬間のすべての変更時間がありました。 DiskStationで日付順に並べ替えるにはこれで終わりです。

ファイルを再コピーする方法はありますが、変更日は保持されますか?おそらく、DiskStationを間違った方法でマウントしたのでしょう。おそらく、ノーチラスは使用するのに間違ったツールでした。助言がありますか?

ところで、Ubuntu 10.04、10.10、11.04、および11.10のSMB/CIFSを介して、変更時間を完全に保持したまま、ギガバイトの写真を別のNAS(Plextor PX-EH)に移動しました。問題はSynologyまたはいくつかのUbuntu 12.04ソフトウェアにある必要があります。

7
Randall Cook

私は問題を解決したと思います。 Ubuntu 12.04のNautilusでは、リモートDiskStation NASに接続する2つの方法があります。変更時間を保存するものと保存しないものがあります。

Nautilusウィンドウの左側にあるメニューの[ネットワークの参照...]ボタンをクリックすると、最終的にDiskStationへのAFP(Apple Filing Protocol)接続が行われ、Nautilusもcp -pコピーも変更時間を保持しません。 DiskStationでAppleサポートを無効にしようとしましたが、そのモードではDiskStationはブラウズネットワークにも表示されませんでした。

Nautilusの[ファイル]メニューには、プロトコルのホストを提供する[サーバーに接続...]オプションがあります。 Windowsを選択し、資格情報を入力して、問題なく接続しました。このモードでは、変更時間が保存されるため、写真を再コピーして日付を保存することができました。

提案をありがとう、Sergeyとdavid6。うまくいけば、人々はこの情報が貴重であると思うでしょう。

3
Randall Cook

これは古典的なプッシュ/プルリモートコピーの問題です。

recipientホストはreceivedファイルの日付スタンプを受け入れません。 Nautilusには、10.04 LTSから12.10までのこの同じ障害があります。

これは、2つのUbuntuホスト間でコピーするときに、常にfromリモートホスト(ソース)toローカルホスト(受信者)をコピーすることで解決されます(Nautilusの場合)。 (別名 'PULL')


問題はNASボックスにあり、Ubuntuにはありません。

受信したファイルの日付スタンプを尊重するために必要です(デフォルト)。

ファイル共有にNFS(Linux)またはCIFS(Windows)を使用していますか?

2
david6

標準のcpコマンドには、コピー時に特定の属性(デフォルトでは-mode、ownership、timestamps)を保持する--preserveフラグがあります。

このようなもの:

cp -rp /source/photos/folder /destination/photos/folder

「通常の」場合にトリックを行う必要があります。しかし、URLのafp://のことは私を混乱させます。それはApple Filing Protocolですか?この場合、すべてのベットはオフです。

私が付け加えたいと思うのは、あなたの写真をカタログ化するためにファイルの修正日に依存することは非常に壊れやすいことです。これが画像メタデータ(EXIFなど)の目的です。または、少なくとも、撮影日に従ってディレクトリに配置するだけです:photos/2012/12/05など。

2
Sergey

ファイルとディレクトリのタイムスタンプを保持することは2019年でもまだ問題であることが判明しました! Ubuntu 18でNautilusを使用して、SFTPを介してUbuntu 16マシンからUbuntu 18マシンにファイルをコピーしていました。すべてのファイルには現在のタイムスタンプがありましたが、ディレクトリには元のタイムスタンプがありました。他のツールも失敗しました:

sshfsを使用してリモートファイルシステムをマウントする

$ Sudo mkdir /mnt/remote-machine
$ Sudo sshfs -o allow_other,default_permissions [email protected]:/ /mnt/remote-machine
$ cp -rp /mnt/remote-machine/path/to/files ./
$ # ... or use another file manager

マウントされたパスからコピーすることで、Midnight Commanderがタイムスタンプを保持できるようになりました(しかしBeyondCompareには役立ちませんでした)。

0
Dan Dascalescu