サーバー間でファイルをrsyncしようとしていますが、このエラーが発生します
rsync: "/ dept/intranet/dept/atest /。"で時間を設定できませんでした:操作は許可されていません(1)
誰かがなぜ私を助けることができますか?
権限の問題だと思います。
これは私のコマンドです:
RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_Host=test.desktop
${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_Host}:${REMOTE_DIR}
LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x 11 root root 4096 Mar 19 2009 f1
REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld a1 4096 Mar 19 2009 f1
ちょうど同じページにいるので:
-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times
次に、2つのこと:
宛先フォルダーがNFSマウントである場合、またはmod-timeを適切に処理できないファイルシステムの場合、うまく機能しません。
-O
(--omit-dir-times
用)パラメータをコマンドに追加してみてください。
変更時刻は保持されますが、ディレクトリの場合は省略されます。
${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_Host}:${REMOTE_DIR}
これは私の推測です。ファイルの同期が機能しているようで、エラーはmod時間の同期で発生します。とにかく本当に変更時間を保存する必要がありますか? -c
オプションは、チェックサムに基づいてファイルをスキップします(したがって、mod時間は関係ありません)。
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
をお試しください)ssh -vv [email protected] "touch /dept/intranet/dept/atest/f1/test"
を試してください)冗長にするには、-v
オプションを指定してコマンドを実行します。
-O(-omit-dir-times))をディレクトリに変更時刻を設定しようとするのを避けるためのコマンドライン。
私の場合、同期が行われた親ディレクトリに権限を付与することで問題を解決しました。
実際には、親ディレクトリの所有者は、同期を行っているユーザー以外でした。