ルートにファイルを移動またはコピーするときに、ファイルを移動したいディレクトリの所有者に基づいてファイルの所有権を設定したいことがよくあります。
コピーされたすべてのファイルのrsync出力を解析し、各ファイルを削除するスクリプトの作成を開始する前に、これを行うより良い/既存の方法はありますか?
tmp/ftp/new-assests/
たとえば、元のフォルダがuser_www所有の場所にフォルダをコピー/移動/同期する必要があり、ターゲットファイルとそのファイルを含む~user1/tmp/
フォルダと他のフォルダを~user2/html-stuff/
それぞれターゲットに所有させたいとします。ディレクトリに既存のファイルがあります。user1
user2
はい、ユーザーにフォルダに対する読み取り権限がある場合はファイル自体をコピーできますが、この場合は関係ありません。これらがnologinユーザーであり、ソースファイルへのアクセス権がないとしましょう(助けになる場合)。
ベストアンサー1
使用rsync
:
rsync -ai --chown=user1 tmp/ftp/new-assests/ ~user1/tmp/
user1
許可されている場合は、ディレクトリを指定された場所にコピーし、ファイルの所有権を 。
パラメータの一般的な形式--chown
はありますが、上記のように特定のユーザーを所有者に設定したり、特定のグループを設定したりすることもできUSER:GROUP
ます(ユーザーIDを省略した場合、パラメータはオプションではありません)。USER
:GROUP
: