mumumu (13284) の日記
#!/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の引数はミスタイプ? (スコア:1)
初めまして。本家ウォッチを拝見しております。どうもありがとうございます。
tarの引数は合っていますか。これだと直前でcdしているのと辻褄が合わない気がするのですが。
失敗するのは/home/public_html/testはあるけれど、/testが無いのが原因では?。Re:tarの引数はミスタイプ? (スコア:1)
そして、宜しくお願いします。
>tarの引数は合っていますか。
えーと、日記用にpathを急いで書き換えたため、これは間違いです。
本当は tar cvfzp - test が正しいです。大変失礼いたしました。
コマンドラインから実行する分にはOKなんですが、、今からもうし
ばらく調査して原因をはっきりさせるつもりでいます。
# 無精、短気、傲慢、これ最強
Re:tarの引数はミスタイプ? (スコア:1)
コマンドライン(シェルプロンプト)からうまくいってらっしゃるんですから、やっぱり単純な転記ミスですよね。ふーむ。
先頭の変数だけ書き換えて、cronで呼び出してputはできました。できないのはなんでしょうね。
Re:tarの引数はミスタイプ? (スコア:1)
スクリプトの一行目が
#!/bin/sh
となっていましたが、ログインシェルと/bin/shが一致しない、なんてことは…ないですよね。
うーん。
ncftpput -d /tmp/ncftplog
等として、単独でログを吐かせてみるのはどうでしょう。
もうやってらっしゃいそうですが…。
あとは、ncftpputをやめて、.netrcを書き、macdefを定義したりして、ftpで送ってみるとか。
# こんな感じでしょうか [mavetju.org]
あとは、一行目に -v スイッチを足し、
#/bin/sh -v
詳細ログを吐かせてみる、とか。
思いつくままに書いてみました。