• ベストアンサー

cronでftp自動転送を行いたい

ftpで自動ログイン+ファイル転送するシェルを作成して、これをcronで 実行したのですが、ftpが実行されません。()シェル単体で実行すると、転送されます) 何が原因でしょうか?宜しくお願いいたします。 【環境】 FedoraCore5 【シェル(ftp.csh)の内容】 ftp -n xxx.xxx.xxx.xxx << _EOD user xxx xxx ascii put xxxxxxxx quit _EOD 【cron設定】 05 6 * * * root /share/ftp.csh

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.4

なるほど。ftpコマンド自体は実行はされていると言うことですね。 成功にせよ失敗にせよftpの出力があるはずなので、やはりroot宛にメールが来ているはずですけど。そこに何か出ていると思います。 >rootからのメールとは何でしょうか?どこで確認できるのですか? メールの読み方がわからないと言うことですね。メールがどこに入るかは設定によって違います。 rootのHOMEの下にMaildirがあればそこに。無ければ/var/spool/mail/root にあります。この場合は mail コマンドで読めます。

indigo45kk
質問者

補足

詳細な情報ありがとうございます。  /root にmboxファイル があったので、viで開き、ftpで検索しましたが、それらしき情報は確認できませんでした。  /var/spool/mail/rootも存在しました。 しかし更新日時が7/17以降更新されておらず、mailコマンドで内容を見ましたが、やはりそれらしき情報は確認できませんでした。 システム的におかしな状態になっているのでしょうか?しかし気になっているのは、質問の現象だけで、他の運用は問題なくできています。 (追加質問:/var/spool/mail/root は削除してもよいのでしょうか? )

その他の回答 (3)

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.3

>cronの設定は、/etc/crontabに直接書きました。 書いた後、crondを再起動ないしリロードしましたか? >他の設定は問題なく動いています。 これはどういう意味ですか?/etc/crontab に複数書いて他の行は実行されているという意味?それならcron設定は大丈夫ですね。 >rootからのメールとは何でしょうか?どこで確認できるのですか? crontabに登録された処理がエラーになったらメールが来ます。この場合はroot宛ですね。 あとは、/var/log/cron がその時刻に何が出てるかとか。

indigo45kk
質問者

補足

・crondを再起動しました。 ・/etc/crontab に書いてある別の行の指令は、正しく実行されています。 ・/var/log/cron には、他の指令のlogと同じように出力されています。 Jul 23 16:20:01 localhost crond[19143]: (root) CMD (/share/ftp.csh) エラーではないと思います。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

cron設定とは具体的にどうやって設定したのですか? rootからcronコマンド失敗のメールは来ていますか?来ているならその内容は?来ていないとするとcron設定がおかしいです。

indigo45kk
質問者

補足

ありがとうございます。 cronの設定は、/etc/crontabに直接書きました。 他の設定は問題なく動いています。 rootからのメールとは何でしょうか?どこで確認できるのですか? よろしくお願いいたします。

  • mendokusa
  • ベストアンサー率13% (359/2726)
回答No.1

ftpの在り処を調べてフルパスで書けばいいんじゃないでしょうか。 /bin/ftp -n xxx.xxx.xxx.xxx << _EOD など。

indigo45kk
質問者

お礼

ありがとうございます。フルパスで指定しましたがだめでした。 usr/bin/ftp -n xxx.xxx.xxx.xxx << _EOD

関連するQ&A

  • 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 同様の症状等で解決策をご存知の方アドバイスお願いします。

  • NTのFTP通信

    こんにちわ Windows NT 4.0 workstationにて(数台) FTP転送したいのですが、 転送するファイル名が固定ではありません。 転送するファイルは以下のようなファイルになります。 yanolog.txt saitolog.txt sayamalog.txt このような場合、下記のputのぶぶんを put *log.txt で実行しても転送されるでしょうか? open ftp.noname.ne.jp bluepixy password ascii put *log.txt close quit よろしくお願いします

  • FTP転送をしたいのですが

    あるクライアントでコマンドプロンプトから以下を行っても 処理ができません。(エラーなども出力されません) 20秒ほどたつと、勝手にコマンドプロンプトが終了して しまいます。何が悪いのか、お分かりになる方がいらっしゃいましたら 教えてください。 (ftp.exe は、c:\window\system32 に存在しています。) 宜しくお願いします。 C:\>ftp -n -s:c:\test_ftp.txt xxx.xxx.xxx.xxx (←IPアドレスです) test_ftp.txtファイルは以下のようになっています。 user anonymous binary put c:\test.xls /aaa/test.xls quit

  • 権限の違うシェルスクリプトの実行

    3つのシェルスクリプトがあります。 ●root権限で実行  aaa.csh ●ユーザ指定権限で実行 bbb.csh ●root権限で実行 ccc.csh この3つのシェルスクリプトはaaa.csh →bbb.csh →ccc.cshの順番でバッチ処理として cronに設定したいのですが、 権限が違うのでroot権限のcrontabとユーザ指定のcrontabに それぞれ設定しなくてはいけません。 あまりスマートではないかと思い、 何かよい方法はないかと質問させて頂きました。 3つのシェルスクリプト1つシェルスクリプトにまとめてroot権限のcrontabに設定してしまう方法とかどうでしょうか? ちなみにスクリプトの処理の内容は単純なファイルコピーなどです。 意味分かりますでしょうか? よろしくお願いします。

  • Cygwin で Ftpを実行するTOOLを cronで実行したい。

    よろしくお願いします。 Cygwinで FTPを使ってUnixのFileを取得するシェルスクリプトを作成しました。 シェルの種類はkshです。 このTOOLをCygwinのcronに仕掛けて自動的にFileを取得するようにしたいのですが、 どうもFTPのところで止まってしまうようです。 Cron設置時にLogを取得したところ 下記のメッセージが出力されていました。   User (10.200.xx.xx(none)) 自分のhomeに.netrc ファイルを作成して、FTP時にはUserID/Passwordを入力しなくて済むようにしているので スクリプトを自分で実行する分には何も入力しなくて言いのですが cron実行時にはなぜかUserIDの入力を促すところでストップし、プロセスも残ってしまっています。 自動的にUserID/Pawwwordを読み込ませるにはどうしたらよろしいでしょうか?

  • FTP PASV後毎回425になる件

    お読み頂き有難う御座います。 FTPでPASVを使用しファイルを送信する際、初回Put時『425 Cannot open data connection.』となります。PASVモードを指定し数秒待ったあと、Putしても同様 の現象です。 サーバ側の設定等で対処可能なのか、クライアント側による425が返却された場合 にリトライを行う対処が正しいのか、ご経験のあるかたアドバイスをお願いします。 【環境】 サーバOS:WindowsServer2019 サーバポート解放状況:20,21,65500-65510 クライアントOS:Windows10 【コマンドログ】 C:\Users\xxxxxxxx>ftp -d xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx に接続しました。 220 Microsoft FTP Service ユーザー (xxx.xxx.xxx.xxx:(none)): xxxxxxxx ---> USER xxxxxxxx 331 Password required パスワード: ---> PASS asonetestpass 230 User logged in. ftp> bin ---> TYPE I 200 Type set to I. ftp> quote PASV ---> PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,xxx,xxx). ftp> put hoge.txt ---> PORT xxx,xxx,xxx,xxx,xxx,xxx 200 PORT command successful. ---> STOR hoge.txt 150 Opening BINARY mode data connection. 425 Cannot open data connection. ftp> put hoge.txt ---> PORT xxx,xxx,xxx,xxx,xxx,xxx 200 PORT command successful. ---> STOR hoge.txt 125 Data connection already open; Transfer starting. 226 Transfer complete. ftp> ftp> by ---> QUIT 221 Goodbye.

  • FTPのmputで出るnetoutについて

    以下、FTPで行うmputについての質問です。 A.sh ************************* cat B.ftp | ftp -n if [ $? -ne 0 ]; then exit -1 fi exit 0 ************************* B.ftp ************************* open IPアドレス user XXX YYY prompt lcd ファイル転送元 cd ファイル転送先 mput *.csv bye ************************* 上記のようなシェルがあります。 A.shを実行すると, ************************* 対話型モードオフ。 現在のローカル・ディレクトリは ファイル転送元 です。 netout: 戻された 0 を書込みますか? netout: 戻された 0 を書込みますか? : : : ************************* というメッセージが表示され、 ファイル転送元のCSVファイルは全て0バイト以上であるのに 転送先にはいくつかのファイルが0バイトで作成されます。 おそらくnetoutが出たファイルが0バイトで作成されているようです。 ファイル単体でputすると上手く転送されます。 何が原因か全く分からないのですが、どなたかお分かりになる方、 いらっしゃいましたらよろしくお願いします。

  • ftpの転送速度について

    いつもお世話になっております。 ネットで調べてもなかなか解決しないので、質問させてください。 ftpの転送速度を求めたいです。 windowsでは問題ないですが、linuxベースのOSでftpすると、 下記のような転送単位で表示されます。 この数字(2.1e+02)はどのようにとらえれば、いいのでしょうか? どなたかわかる方、教えていただけないでしょうか? 宜しくお願いします。 転送速度: 2.1e+02 Kbytes/sec 実行コマンド:put

  • WindowsXPでコマンドプロンプトが勝手に閉じてしまう

    OSはWindowsXPです。 以下のようにバッチファイルを作成し実行します。 xxx_ftp.batの内容 FTP -i -s:ftp.ctl ftp.ctlの内容 FTP open xxx.xxx.xxx.xxx testuser password cd /test/GETD ascii put xxxxxxx.dat quit 次にバッチファイルを実行するとDOSプロンプトに戻らず、ウィンドウが終了してしまいます。 DOSプロンプトに戻しウインドウを終了したくないのですが、XPではDOSプロンプトに戻すことは可能ですか? 98ではできたのですが。

  • FTPコマンドのputについて

    AIX、Kシェルです。 ftpでputする際、相対パスは使用出来ないのでしょうか? ex) ftp -nv open HostName user User Password cd tmp/testwork/ put ../file/xxxx.txt quit 上記で実行すると、 putのところで 「200 EPRT command successful. 553 ../file/xxxx.txt: No such file or directory」 というメッセージが出ます。 lcdで作業ディレクトリーを../fileに変更して、put xxxx.txt は出来るのですが、putで相対パスは出来ないのでしょうか? お手数ですが、何卒宜しくお願い致します。