パスワードを忘れた? アカウント作成
647222 journal

mumumuの日記: ncftp + cron 4

日記 by mumumu

#!/bin/sh

DOCUMENT_ROOT=/home/public_html
OUTPUT_FILE=test`date +%Y%m%d%H%M`.tar.gz
BACKUP_HOST=www.foo.bar.jp
USER_NAME=mumumu
PASSWORD=xxxxxxxxxxxxxxx
BACKUP_PATH=/usr/home/foo/backup

echo "Compressing test directory..."
cd $DOCUMENT_ROOT
tar cvfzp - /test | ncftpput -u $USER_NAME -p $PASSWORD -c $BACKUP_HOST $BACKUP_PATH/$OUTPUT_FILE
echo "done..."

----

↑のようなスクリプトであるディレクトリを圧縮してcronで
自動実行しようとしているのですが、肝心の圧縮ファイルが
www.foo.bar.jpに送られません、、(´ー`;)

普通にコマンドラインからスクリプトを実行する分には、
何の問題もなくwww.foo.bar.jpに圧縮ファイルがあがるの
ですが。。

cronのログ(/var/log/cron)を見ている限りでは、コマンド
自体は実行されているようなので、多分ncftpputの問題?
もちっと調査が必要なようです。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 初めまして。本家ウォッチを拝見しております。どうもありがとうございます。

    tarの引数は合っていますか。これだと直前でcdしているのと辻褄が合わない気がするのですが。

    tar cvfzp - /test
    失敗するのは/home/public_html/testはあるけれど、/testが無いのが原因では?。

    • こちらこそ初めましてSoggyさん。コメントありがとうございます。
      そして、宜しくお願いします。

      >tarの引数は合っていますか。

      えーと、日記用にpathを急いで書き換えたため、これは間違いです。
      本当は tar cvfzp - test が正しいです。大変失礼いたしました。

      コマンドラインから実行する分にはOKなんですが、、今からもうし
      ばらく調査して原因をはっきりさせるつもりでいます。
      --
      # 無精、短気、傲慢、これ最強
      親コメント
      • コマンドライン(シェルプロンプト)からうまくいってらっしゃるんですから、やっぱり単純な転記ミスですよね。ふーむ。

        先頭の変数だけ書き換えて、cronで呼び出してputはできました。できないのはなんでしょうね。

        • FreeBSD 5.1-RELEASE - ncftp 3.1.5
        • Mac OX X 10.3.1 - ncftp 3.1.5
        • Debian 3.0r2 i386 - ncftp 3.1.3

        親コメント
      • ログインシェルから実行すると大丈夫だというのが気になりますね。
        スクリプトの一行目が
        #!/bin/sh
        となっていましたが、ログインシェルと/bin/shが一致しない、なんてことは…ないですよね。
        うーん。

        ncftpput -d /tmp/ncftplog
        等として、単独でログを吐かせてみるのはどうでしょう。
        もうやってらっしゃいそうですが…。
        あとは、ncftpputをやめて、.netrcを書き、macdefを定義したりして、ftpで送ってみるとか。
        # こんな感じでしょうか [mavetju.org]

        あとは、一行目に -v スイッチを足し、
        #/bin/sh -v
        詳細ログを吐かせてみる、とか。

        思いつくままに書いてみました。
        親コメント
typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...