月別アーカイブ: 2013年11月

ロリポップ!(チカッパ)でcron+ssh+rsyncにハマった。

ssh経由でログインして実行すればうまくいくシェルスクリプトがcronでは動かない。
エラーメッセージは、「/usr/bin/rsync: Permission denied」
スクリプトの内容は、あるディレクトリ以下のファイルを別サーバに同期(バックアップ)。

以下のようなスクリプト
——————————
#!/bin/sh

/usr/bin/rsync -a –delete ~/test_dir/ example.com:~/test_dir
——————————

24時間ほどハマり、なんとか解決。
/usr/bin/rsyncを~/web/以下にコピーし、それを使う。
——————————
cp /usr/bin/rsync ~/web/bin/
——————————

修正後のシェルスクリプト
——————————
#!/bin/sh

~/web/bin/rsync -a –delete ~/test_dir/ example.com:~/test_dir
——————————

これでOK。

ちなみに、SSHの秘密鍵のパーミッションは600にすること。
開けすぎてもエラーになる。注意。