dポイントプレゼントキャンペーン実施中!

Puppy Linux で ダイナミックDNS(DDNS)を使う準備のために,cron を使った定時処理の仕方をテストしていますが,機能しません.ご教授ください.

  1)OSは,PuppyLinux4.3.1を使用しています.
DDNS は,ieServer のサイトを利用.WEBブラウザ上では,DNSの更新はできています.数分後,ping コマンドを,サブドメイン名で実行すると名前が解決されています.
  
  2)ps コマンドで見ると,デーモンが動いていないようなので /usr/sbin/crond とキーインし,デーモン起動します.

  3)「ieserver専用IPアドレス更新スクリプト」ページ(http://ai-line.com/linux/ddns.html#6)の内容を参考に,Perl のプログラムを /etc/DDNS ディレクトリのダウンロードし,変数をセットし,このプログラム単体では,正常動作を確認しています.

  4)エディタで,上のサイトの設定ファイルを, /var/spool/cron に root とう名称で作成しました.(下)
----------------------------------------
SHELL=/bin/bash
PASH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
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

# Dynamic_DNS
*/10 * * * * root perl /usr/DDNS/IP_Set_ie.pl
----------------------------------------

いくら待っても,IP_Set_ie.pl が実行された様子がなく(old_ipのタイムスタンプが変化なし),DNSの更新がされません.

どのような,間違いがあるのであしょうか? ご教授願います.

A 回答 (4件)

No1です。



>crontab -e のコマンドでエディタを起動すると,/var/spool/cron にファイルが生成されるようだったので,/var/spool/cron の root にしてみました.

No2さんの回答にあるとおり、上記の認識は間違っています。/var/spool/cron の下はcrontab -eコマンドで操作します。

>ご指摘のように /etc に crontab とう名前でファイルを生成してもアドレスの更新はされていませんでした.

/usr/sbin/crond を起動した後で、ls -ltr /var/log して、起動後に書き込まれているファイルの中を見てください。何かメッセージが出ているはず。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございあます。連絡が遅れて申し訳ありません。

ご指摘いただいたように、/var/spool/cron に置く設定ファイルとしては間違いでした。

当方の試した限りでは、Puppy Linux の crond は、/etc の crontab ファイルには反応しないようです。

/var/spool/cron/crontabs のユーザ名ファイルには反応します。このフォルダにrootという名前で、当方質問文の設定ファイルのユーザ名を外した設定ファイルを置いたら,ご指摘の /var/log/messages に crond の動作履歴が残っておりました.

二度もご回答いただき,大変ありがとうございました.

お礼日時:2013/11/15 19:09

ターミナル上で 'crontab' を実行すると簡単なヘルプが表示されます。


パピーリナックス日本語フォーラムの記事は記憶にありませんが、
http://sakurapup.browserloadofcoolness.com/
英語版のサイトでは六年ほど前に話題に上ったことがあります。
http://www.murga-linux.com/puppy/viewtopic.php?t …
「Puppy Linuxで cron を使」の回答画像3
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます.
連絡が遅れて申し訳ありません.

Puppy本家フォーラム,的確な内容と想像しますが,語学力が無くて残念です.

ありがとうございました.

お礼日時:2013/11/18 16:55

>crontab -e のコマンドでエディタを起動すると,/var/spool/cron にファイルが生成されるようだったので,/var/spool/cron の root にしてみました.



掲示されている書式は/etc/crontabのものです。(実行ユーザの指定がある)
/var/spool/cronなどの下に作成されるもの(crontab -eで編集するもの)には実行ユーザを指定するフィールドはありません。
# ユーザごとに作成されるものですので実行ユーザを指定する必要がありません。
ちなみに、この場合の記述だと……
「10分毎に【rootというコマンド】に引数を【perl /usr/DDNS/IP_Set_ie.pl】で指定して、rootユーザで実行する」ということになります。
rootってコマンドはさすがに無い…でしょう?

PuppyLinuxは使ったことありませんが……

>ps コマンドで見ると,デーモンが動いていないようなので /usr/sbin/crond とキーインし,デーモン起動します.

OS起動時にデーモンを起動させるように設定する方法があるハズです。
ディストリビューションで指定されている方法を使用するべきでしょう。
# Redhat系だとchkconfigコマンドで設定する場合があります。
# ついでに、デーモンの起動は/etc/init.d/以下のスクリプトで実行するようになっている事が多いです。

なお…ディストリビューションによってはcrondではなく別の方法でスケジュール処理をしている場合もありますので注意が必要です。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございあます。連絡が遅れて申し訳ありません。

ご指摘いただいたように、/var/spool/cron に置く設定ファイルとしては間違いでした。

当方の試した限りでは、Puppy Linux の crond は、/etc の crontab ファイルには反応しないようです。

/var/spool/cron/crontabs のユーザ名ファイルには反応します。このフォルダにrootという名前で、当方質問文の設定ファイルのユーザ名を外した設定ファイルを置いたら,No.4様ご指摘の /var/log/messages に crond の動作履歴が残っておりました.

ご教授大変ありがとうございました.

お礼日時:2013/11/15 19:04

>/var/spool/cron に root とう名称で作成しました.



なんでまた??
/etc/crontab では?

この回答への補足

さっそくのご回答,ありがとうございます.

crontab -e のコマンドでエディタを起動すると,/var/spool/cron にファイルが生成されるようだったので,/var/spool/cron の root にしてみました.

ご指摘のように /etc に crontab とう名前でファイルを生成してもアドレスの更新はされていませんでした.

補足日時:2013/11/13 07:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!