• ベストアンサー

fml の crontab の設定でこれはなんでしょう?

FreeBSD で、fml を運用しています。 見てみると crontab に以下のように設定されているの ですが、 4 * * * * /home/public_html/fml/msend.pl /home/ml/testml -q この、/msend.pl ~ の後に続くパスの設定はなにを しているのでしょうか? 単純に、*.pl を定期的に動作させるには、 4 * * * * /home/public_html/fml/msend.pl で終わっていいような気がするのですが、しかも -q って何のオプションなのかも謎です。 ご存知の方がいましたら、よろしくお願いします。m(__)m

  • naru
  • お礼率76% (155/202)

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

> この、/msend.pl ~ の後に続くパスの設定はなにをしているのでしょうか? ふたつとも、msend.pl に与えるパラメータです。 多分、ひとつめの /home/ml/testml は、(送るはずの)メールをためてある ディレクトリ。 ふたつめの -q は、quiet mode (なるべくメッセージを出さないで動作する) の指定です。 fml は、使ったことが無いので、パラメータの意味を調べるのに、参考URLの ページを参考にしました。

参考URL:
http://www.sapporo.iij.ad.jp/staff/fukachan/fml/Japanese/digest/2.html
naru
質問者

お礼

crontab の設定の仕方ではなかったのですね。。。 わざわざお調べいただいてすみません。 どうもありがとうございました。m(__)m

その他の回答 (1)

  • natural
  • ベストアンサー率37% (419/1115)
回答No.1

-qはtestmlというコマンドのオプションだと思います。 ここでは同一条件の日時に二つのコマンドを実行させているのではないでしょうか。

naru
質問者

お礼

ありがとうございます。 てっきり crontab の設定なのかと思ってました。 UNIXサイトや、マニュアルを斜め読みしても そのような記載がないので疑問に思っておもっていた ところです。

関連するQ&A

  • cron で *.pl を実行してるんですが何故?

    FreeBSD にて、perl プログラムを定期的に動かしたい んです。( はっきり言えばメールの送受信をしたい ) これは当然、crontab を使うかと思うのですが、 * * * * * /home/public_html/cgi/pop3_Soushin.pl ・・・のように、crontbab -e でスクリプトの絶対パス を書いて、成功するのをじーっと待っていると、 /home/public_html/cgi/pop3_Soushin.pl : not found ・・・という、やるせないメールが飛んでくるのです。 一体どうしてでしょうか・・・パス、大文字、小文字は 何度も確かめたですが、間違いはないようです。 初心者の単純なミスなのかもしれませんが、解決策を ご存知の方、どうかよろしくお願いします。m(__)m

  • crontabのファイルのパス設定

    MacOSXを使っているUNIX超初心者です。 crontabのファイルのパス設定について質問です。 HDDが2台あって、コンソール上ではそれぞれ、 abcd123456:~ maruchan$ abcd123456:disk2 maruchan$ と表示されます(数字等は実際と変えていて、ユーザ名がmaruchanです)。 いつもは、コンソールからdisk2上のプログラムを直接動作させていまして、 abcd123456:disk2 maruchan$ /volumes/disk2/holder/program と打って、disk2/holder中のprogramを動作、その出力はdisk2/holderの中に書き込まれます。 コンソール上でいちいち打つ代わりに、crontabで行おうとして、disk2上にテキストファイルtest.crontabを作り、 00 12 * * * /volumes/disk2/holder/program と入れまして、下記を打ちました。 abcd123456:disk2 maruchan$ crontab test.crontab プログラムは指定時間に動作したのですが、出力が、 abcd123456:~ maruchan$ の中に書き込まれます。 出力は、disk2/holderに書かれるようにしたいのです。 原因はCronの環境設定が下記のデフォルトのままであることなのですが、test.crontab中にどのように環境設定記述をすれば良いのでしょうか? X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=maruchan> X-Cron-Env: <USER=maruchan> X-Cron-Env: <HOME=/Users/maruchan> なお、 HOME=/volumes/disk2/holder 00 12 * * * /volumes/disk2/holder/program としてみたのですが、変更できませんでした。 どうぞよろしくお願いします。

  • Fedora11 crontab 設定エラー

    Fedora11「crontab -l」が「コマンドが見つかりません」になる。 (Q1) Fedora11で、cron を利用したく動作テストしています。 crontab は、/etc内にあります。 [root@betasei etc]# ls -l crontab* -rwxrwxrwx. 1 root root 420 2011-05-18 10:36 crontab テスト用スクリプトです。 [root@betasei etc]# cat test.sh echo xxxxxxxx gedit crontab で次のように編集しました。 [root@betasei etc]# cat crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin/:/etc/ MAILTO=root HOME=/ # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR #sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed 1 1 * * * /etc/test.sh 設定確認すると、次のようにエラーになります。 [root@betasei etc]# ./crontab -l ./crontab: line 13: 1: コマンドが見つかりません [root@betasei etc]# 1 1 * * * /etc/test.sh ここのところを ./test.sh にしてみたりしてもダメです。 どうしたらよいのでしょうか。 (Q2) ところで、crontabの編集は、ターミナルやろうとして、 crontab -e と実行すると、viか何かの空白編集画面が出ます。 上記 gedit crontab の画面のように初期値が出ません。 gedit crontabで編集してもよいのですね。 (Q3) /etc/crontab は、テキストファイルですね。 でも、このcrontabは実行ファイルですね。 ./crontab -l どうなってるですか。 初歩的な質問ですみません。

  • crontabで設定した内容が起動しません

    RedHat8.0です。 あるユーザで、 [/etc]$ crontab -e を実行し、 --------------------------------------- SHELL=/bin/csh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/bat HOME=/home/user # 0 0-23 * * 1-5 /bat/sync.csh p1 p2 p3 ---------------------------------------  : のような設定をしているのですが、 毎時00分の実行が行われません。 試しに、 0-59/1 0-23 * * 1-5 /bat/sync.csh p1 p2 p3 のように書いて、しばらく様子をみていましたが、 毎分ごとの起動もされませんでした。 「crontab: installing new crontab」のメッセージも返って来ています。 /bat/sync.csh には、実行権はついており、 単独で走らせると $ /bat/sync.csh p1 p2 p3 : 動作します。 (p1, p2, p3 は引数を表現しています) 更に、 [/etc]$ ps -aux : root 489 0.0 0.0 1520 644 ? S Jan28 0:00 crond : root 21138 0.0 0.0 1520 672 ? S 23:20 0:00 CROND   : などになっています。 何か、他の設定が必要なのでしょうか。 よろしくお願いします。

  • crontabの書式について

    レンタルサーバーで運用しているWebサイトで初めてcronを使うことになり、現在以下のcrontabで正常に動作しているのですが、 このcrontabを「出力はresultに保存(常に上書き)、成功にせよエラーにせよメールは送信しない」という設定に変えるにはどうすればよいでしょうか。 #!/bin/sh cd /virtual/[myID]/cron/ wget http://sample.com/test.php

  • crontab でスクリプトが動かない

    一応環境ですが、 CentOS5 PostgreSQL8 crontabでDBのバックアップを取ろうと思っていますがうまく動作しません。 以下のスクリプトファイルを作成し、crontabで毎日実行しようと考えています。 /home/hogehoge/Maintenance.sh/pg_dumpall.sh (内容)-------------------------------------------------------- #!/bin/sh cd /home/hogehoge/Maintenance.sh pg_dumpall -h localhost -U postgres -c > pg_dumpall.dump chmod 600 pg_dumpall.dump -------------------------------------------------------- crontab (内容)-------------------------------------------------- 0 4 * * * /home/hogehoge/Maintenance.sh/pg_dumpall.sh -------------------------------------------------------- しかし、時間になってもpg_dumpall.dump ファイルが作成されません。 crontab自体は動作しています。(ファイル作成だけをしたらちゃんとできてました) 0-59/2 * * * * /bin/date > /home/sweets/Maintenance.sh/hoge pg_dumpall.sh の内容を1行ずつ実行しても正常にできます。 cd /home/hogehoge/Maintenance.sh pg_dumpall -h localhost -U postgres -c > pg_dumpall.dump chmod 600 pg_dumpall.dump なにかほかにも設定しなくてはいけないことがあるのでしょうか?

  • crontabについて

    質問があります。 以前質問させていただきましたが、 わからないところがありまして再び質問させていただきます。 毎月1日の0時1分にプログラムを実行したい場合は 1 0 1 * * 実行したいプログラム ということは理解しましたが、 この【実行したプログラム】にはどのような形式で記述すればいいのでしょうか? ちなみに動かすプログラム名はtest.phpです。 【例】1 0 1 * * (php?) /home/httpd/test/test.php それとプログラム事態を10分毎に動作させたい 場合はどのようにcrontabを設定すればいいのでしょうか? 今動作を確認する環境がないので実際に確認とれませんのでご迷惑をおかけしますがお願いいたします。

    • ベストアンサー
    • PHP
  • Cornの優先度設定について

    Cornの優先度設定を行っていますが、Linux初心者であるため ノウハウがなく行き詰まっております。 有識者様大変お手数ですがご教授をお願いいたします。 毎日1時にtest.plを実行したいとかんがえております。 test.plは/home/test/testdir/中にあります。 cornの設定として crontab -eでエディタを開き以下の設定を行って正常動作しております。 0 1 * * * cd /home/test/testdir/; ./test.pl test.plを優先度設定(nice 15)で実行したいのですが 設定として下記(1)、(2)のどちらが正しいのでしょうか? (1)0 1 * * * nice 15 cd /home/test/testdir/; ./test.pl (2)0 1 * * * cd /home/test/testdir/; nice 15 ./test.pl 上記が両方とも違う場合、正常な設定を教えていただけないでしょうか?

  • crontabでtarを実行した際、エラーではないものは出力されずに実行できるコマンドを教えてください

    crontabでシェルスクリプトを立ち上げて自動バックアップをさせているのですが、crontabのレポートメールに tar: Removing leading `/' from member names と出ます。 実行内容は tar zcvf /home/__ArchiveFolder/backup_`date +%Y%m%d`.tar.gz /home/public_html なのですが、サイレントモードで実行というのでしょうか、このメッセージのメールを送られてこないように出来るのでしょうか? 言い換えますと、path名の頭に / があると、展開時に面倒が起こるから、/を取り除いてくれていいのですが、いちいちレポートしなくてもいいので、quietモード(manにはありませんでした)のようにするにはどうしたら良いのでしょうか?

  • crontabの設定について

    某サイトを参考にIPアドレスの自動アップデート スクリプトを作成しました。 OSはCentOS6.2です。 その後、crontab -e を実行(中は空で何も記入されていませんでした)しました。 本来vi /etc/crontab で編集するのかなと思ったのですが、以前使用していたvinelinuxのcrontabと表示形式が違っていたので、何も書き込んでいません。 crontab -e 実行後、下記内容を貼り付け保存しました。MAIL TO は空欄たったのですが、スクリプトが正常に実行されているかメールで受信したいため、下記設定をしました。すると確かにメールは10間隔で届くのですが、内容は下記エラーです。 エラー内容 /bin/bash: root: command not found crontab 設定内容 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO={ローカルドメイン内のメールアドレス記載} HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly # DDNS */10 * * * * root perl /usr/ddns/ipchk.pl 00 5 * * 0 root rm -f /usr/ddns/CRT_IP.dat スクリプトの内容は下記のとおりです。スクリプトの中にwgetコマンドがあるのですが、centos6.2ではwgetが最初から入っていました。念のためyum -y install wget を実行したところすでにインストール済みの表示が出ました。(command not found と言うエラーからwgetが実行されないのかな、と勝手に思った次第です) #!/usr/local/bin/perl (which perl 実行結果 /usr/local/bin/perl と表示がでたのでそれに従いました) # $CRT_IPF = '/usr/ddns/CRT_IP.dat'; $NEW_IPF = '/usr/ddns/NEW_IP.dat'; $LOG = '/var/log/ddns.log'; open INPUT,"$CRT_IPF"; $CRT_IP=<INPUT>; close INPUT; system("/usr/local/bin/wget -q -O $NEW_IPF {ここには REMOTE_ADDR:の結果が取得できる登録済みDDNSのアドレス記入}"); open(INPUT,$NEW_IPF); $c = <INPUT>; $stp = index($c,"REMOTE_ADDR:")+12; $edp = length($c); $NEW_IP = substr($c,$stp,($edp-$stp)); close(INPUT); if ($NEW_IP ne "" and $CRT_IP ne $NEW_IP) { open (OUTPUT ,">$CRT_IPF"); print OUTPUT $NEW_IP; close OUTPUT; print "IP Address update: $CRT_IP to $NEW_IP\n"; system("/usr/bin/wget -q -O - '{DDNSのIP更新サイトのアドレス記載 &ドメイン&pw=パスワード}'"); $now_string = localtime; open (OUTPUT ,">>$LOG"); print OUTPUT "$now_string DDNS IP Address Updated. $CRT_IP to $NEW_IP\n"; close OUTPUT; } 何がいけないのでしょうか。よろしくお願いします。