web-dev-qa-db-ja.com

rsyncエラー:「/ foo / bar」で時間を設定できませんでした:操作は許可されていません

私はrsyncから紛らわしいエラーを受け取っており、ウェブ検索(および通常のchmod'ing)から最初に見つけたものはそれを解決していません:

rsync: failed to set times on "/foo/bar": Operation not permitted (1)
rsync error: some files could not be transferred (code 23) 
  at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9]

そのエラーにもかかわらず動作しているようですが、それを取り除くのはいいことです。

171
dreeves

/foo/barがNFS(または場合によってはFuseファイルシステム)上にある場合、それが問題である可能性があります。

いずれにしても、コマンドラインに-O/--omit-dir-timesを追加すると、ディレクトリに変更時間を設定しようとすることを回避できます。

258
Jon Bright

この問題は、おそらくリモートダーウィン(OS X)システム上の書き込みプロセスが/ foo/barを所有していないことが原因です。 問題の解決策は、リモートサイトに適切な所有者を設定することです。

この回答は投票されており、したがって誰かに役立つと期待されているので、より明確にするためにそれを拡張しています。

これが発生する理由は、rsyncがファイルをコピーするときに、おそらく任意の変更時間(mtime)を設定しようとしているためです。

このdarwinのシステムutime()関数を実行するには、書き込みプロセスの有効なuidがファイルuidまたはスーパーユーザーのuidと同じであることが必要です。 opengroup utimeのページ を参照してください。参照としてrsyncメーリングリストで このディスカッション を確認してください。

80
anddam

私の場合の問題は、「レシーバーマウントポイント」が誤ってマウントされたことです。 (何らかの理由で)読み取り専用モードでした。 rsyncはファイルをコピーしているように見えましたが、そうではありませんでした。 fstabファイルを確認し、マウントオプションをデフォルトに変更し、ファイルシステムを再マウントして、rsyncを再度実行しました。すべて順調です。

2
ripah

同じ問題がありました。私にとっての解決策は、リモートファイルを削除し、rsyncを作成し直すことです。

1
shintaroid

これは、タイプxfs (rw,relatime,seclabel,attr2,inode64,noquota)のパーティションで発生しました。このパーティションでは、両方のメンバーであるグループ内の別のユーザーがディレクトリを所有していました。グループメンバーシップはログイン前に既に確立されており、ディレクトリ構造全体がグループ書き込み可能です。これを確認するためにSudo chown -R otheruser.group directorySudo chmod -R g+rw directoryを手動で実行しました。

なぜ元々機能しなかったのかはまだわかりませんが、Sudo chown -R myuser.group directoryで所有権を取得すると修正されました。おそらくSELinux関連?

0
Sam Brightman

時間を(適切に)処理しないファイルシステムに書き込みをしているときに、この問題を見てきました-SMB共有またはFATなどです。

ターゲットファイルシステムは何ですか?

0
David Wolever

このエラーは、ソースまたは宛先で最近変更されていないファイルに対してrsyncプロセスを実行した場合にもポップアップすることがあります...最近変更されたファイルの時間を設定できないためです。

0
Gurdeep Singh

一部のファイルに対する権限がない可能性があります。管理者アカウントから、「Sudo rsync -av」を試してください。または、rootアカウントを有効にして、rootとしてサインインします。これにより、システムを完全にホースで接続し、rsyncをブルートフォースできます。 ;-)上記の--extended-attributesが役立つかどうかはわかりませんが、適切な手段としてそれを投入しました。

0
captain