web-dev-qa-db-ja.com

マウントされたSambaフォルダーにファイルをコピーするときに「変更された時間」が更新されないようにする

マウントされたSambaフォルダーにファイルをコピーするときに、「最終変更日」属性を現在の日付に変更したくありません。これどうやってするの?

この動作は、(K)Ubuntu12.04およびUbuntu15.10で発生します。 GUIブラウザ(nautilus3.4.2およびdolphin2.0でテスト済み)を使用し、ターミナルでcp -pを使用して再現できます。

Sambaフォルダーは、次のいずれかの方法でローカルファイルシステムにマウントされました。

  • Sudo mount -t smbfs //mynas/folder /mnt/nas/ -o user=username

または

  • Sudo mount -t cifs //mynas/folder /home/mnt/nas/ -o user=username

注:

  • smb://username@mynas/folder/のようなURLを使用して(nautilusまたはdolphinを使用して)同じSambaフォルダーに接続すると、「変更時刻」を現在の時刻に置き換えることなく、ファイルをそのフォルダーにコピーできます。
  • ただし、Sambaフォルダーのマウントはより便利であり、すべてのツールがsmbプロトコルをサポートしているわけではありません。これが、URI smb://を使用することが私にとって回避策ではない理由です。
2
Fango

コマンドcp -Pはニーズに適用されません。シンボリックリンクをたどらないために使用される大文字の引数文字-Pを使用しています。

タイムスタンプを保持するために使用するのは小文字です:cp -p


質問のコメントセクションで説明されているように、正しいgidとuidを使用すると、問題が解決しました。

Sudo mount -t cifs //mynas/folder /home/mnt/nas/ -o user=username -o gid=1000,uid=1000
0
marc

タイムスタンプを変更せずにファイルをコピーするために使用できるユーティリティは他にもいくつかあります。この場合、rsync(特に「-t」フラグを使用)とcpio(「-m」フラグを使用)の両方を使用できます。それぞれのマニュアルページをチェックして、他にどのようなオプションが役立つかを確認してください。

0
Thomas N