いくつかのアーカイブを実行するために、Pythonでrsyncを実行するJenkinsシステムに奇妙でほとんど発生しないバグがあります。
エラーは次のとおりです。
rsync: rename "/OLD_PATH/internal/.my_config.json.MfXl7i" -> "internal/my_config.json": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
無効なコマンドは次のとおりです。
rsync -az --no-p --no-g --chmod=ugo=rwX NEW_PATH/ OLD_PATH
returned non-zero exit status 23
rsyncを呼び出す前に残りのPythonスクリプトで書かれたファイルは「my_config.json」です。ファイル名の前のドットと終わりにある「MfXl7i」はどこから来ましたか? rsyncが明らかにファイル出口を変更するのはなぜですか?
よろしくお願いします。
答え1
関連するエラーメッセージは最初の行にあります。
rsync: rename "internal/.my_config.json.MfXl7i" -> "internal/my_config.json": Permission denied (13)
これはrsync
、コマンドがデータを同期できますが、新しいファイルを書き込めないことを意味します。
このファイルに対する書き込み権限がありますかinternal/my_config.json
?ファイルが存在し、書き込み禁止になっているか、あなたのものではない可能性があります。
ファイルとその中に含まれるフォルダを見るとわかります。
# ls -ld internal internal/my_config.json
たとえば、フォルダを所有し、フォルダへの読み取り+書き込み+実行権限を持って指定されたファイルをフォルダに書き込むことができる必要があり、ファイルが存在する場合は変更できない属性を持つか、読み取り専用にすることはできません(必要)。書き込み権限)。さらに、フォルダは読み取り専用ではなくマウントディスク/パーティションに配置する必要があります。