0

私の rsync bash スクリプトは、php 経由で生成された --exclude-from ファイルを解析していませんが、ローカルでまったく同じファイルを (ルートとして) 手動で作成すると解析されます。Xubuntu 12.10 システムに、rsync --exclude-from ファイルをローカルに書き込み、rsync スクリプトを実行する (CentOS 6) バックアップ ボックスに rcp 経由でプッシュする Web インターフェイスがあります。(rcp について指を振るのは控えてください... 私は知っています -- この場合、選択の余地はありません。)

ウェブページはファイルを書き込みます:

PHP:

file_put_contents($exclfile, $write_ex_val);

次に、Web サーバー上のローカル bash スクリプトから次のコマンドを使用してバックアップ ボックスにプッシュします。

バッシュ:

rcp -p /path/to/file/${servername}_${backupsource}.excl ${server}:/destination/path

手動で作成したファイル (機能する) のアクセス許可と所有権を、php/rcp で処理された同じファイル (機能しない) と比較しましたが、どちらも同じです。

バッシュ:

stat -c '%a' server_backupsource_byhand.excl 
644

stat -c '%a' server_backupsource_byphp.excl 
644

ls -l server_backupsource_byhand.excl 
-rw-r--r-- 1 root root 6 May 11 05:57 server_backupsource_byhand.excl 

ls -l server_backupsource_byphp.excl 
-rw-r--r-- 1 root root 6 May 11 05:58 server_backupsource_byphp.excl 

関連する場合に備えて、ここに私のrsync行があります:

バッシュ:

rsync -vpaz -v --exclude-from=${exclfile} /mnt/${smbdir} /backup

PHP が別の形式 (ANSI ではなく UTF8 など) でファイルを書き込んでいる可能性があると思われますが、これをテストする方法がわかりません。ここでの知識は限られています。

php/rcpで生成されたファイルを解析する方法について何か提案はありますか?

4

1 に答える 1