※ ChatGPTを利用し、要約された質問です(原文:perlのsystem関数でrsyncが動かない)
perlのsystem関数でrsyncが動かない
このQ&Aのポイント
perlのsystem関数を使って、外部サーバーのフォルダ(999)をバックアップしたいと思っています。
公開鍵を設定して、コマンド入力では動きます。$ rsync -av user1@xxx.xxx.xxx.xxx:/home/user1/public_html/hp/999 /home/user2/public_html/hp/
しかし、perlのsystem関数に入れると動かない問題があります。$retcodeは-1になり、apacheのエラーログには何も出ていません。原因は何でしょうか?
perlのsystem関数を使って、外部サーバーのフォルダ(999)をバックアップしたいと思っています。
公開鍵を設定して、コマンド入力では動きます。
$ rsync -av user1@xxx.xxx.xxx.xxx:/home/user1/public_html/hp/999 /home/user2/public_html/hp/
これをperlのsystem関数に入れると動きません。
$retcodeは-1になります。
apacheのエラーログには何も出ていません。
何が原因で動かないのでしょうか?
よろしくお願いします。
#!/usr/bin/perl
$retcode=system ("rsync -av user1@xxx.xxx.xxx.xxx:/home/user1/public_html/hp/999 /home/user2/public_html/hp/");
print "Content-type: text/html\n\n";
print"code: $retcode";
exit;
お礼
サーバーの負荷とリアルタイム性を考えて、cronを使わずにコピーできればと思いましたが、cronを使って同期させることにします。 どうもありがとうございました。