• 締切済み

cron と FTPでバックアップ

Turbolinux8serverを使っています。 シェルを組んでFTPサーバーにファイルをバックアップさせています。シェル単体で動かすと問題なくファイルのバックアップできるのですが、cronスケジューラーで動かすとバックアップできません。 ちなみにバックアップさせるファイルは15Gと膨大で、小さいファイル(数kbite)だとシェル単体でもcronで起動させても問題なく動きます。 cronで起動するとFTPの転送ファイル容量の制限が掛かるのでしょうか? ちなみにシェルは set `date +%Y%m%d` echo $1 cd /home/httpd/ tar cvf /backup/$1.tgz Doc ftp -i -v -n 192.168.1.1 <<END user username password cd /backup/ lcd /backup/ put $1.tgz quit END 同様の症状等で解決策をご存知の方アドバイスお願いします。

みんなの回答

  • kome-maro
  • ベストアンサー率20% (29/145)
回答No.2

cronとlogin時の環境変数は違います。 スクリプトをすべてフルパスで書いてください。 それで動くと思います。 ただ、ftpをスクリプトで書くのは、お勧めしません。 パスワードを平文で書くからです。 バックアップを取るのが目的ならば、rsync + sshで、あらかじめキーを交換しておく方法がお勧めです。

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.1

>cronで起動するとFTPの転送ファイル容量の制限が掛かるのでしょうか? それについては分かりません。 cronのログを見て、シェルスクリプトがどのようなエラーを出しているのか確認してはどうですか。 PATH環境変数の初期化をしていないようですが、ftpとかtarがサーチパスに入って無くて実行できていないのではないかと想像されます。 それはそうと、一旦tarファイルを作っているのは無駄ですよね。 ftp -i -v -n 192.168.1.1 <<END user username password cd /backup/ lcd /home/httpd/ put "|tar xvf - Doc" $1.tgz quit END とすれば、一時ファイルを作らなくても済むと思いますが。

関連するQ&A