[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:37986] Re: crontabへの登録



武藤@Debianぷろじぇくとです。

いっぱいつっこみが入りそうですが

At Mon, 11 Aug 2003 23:22:21 +0900,
MIYAKE Hikaru wrote:
> crontabでそのシェルスクリプトを登録しようとして躓きました。

> 1. crontab -e を通常ユーザで実行、エディタが開きます。

cronは登録したそのユーザーの権限で動作します。
その「通常ユーザ」の権限でddns_updateを実行してちゃんと更新されるもの
なのでしょうか?

> 2. 以下をエディタ内で記述。
> (ddns_updateが私の書いたシェルスクリプトです。)
> ここから-----------------------------------------------------------------
> 0	15	*	*	*/usr/local/bin/ddns_update
> 6	15	*	*	*/usr/local/bin/ddns_update
> 12	15	*	*	*/usr/local/bin/ddns_update
> 18	15	*	*	*/usr/local/bin/ddns_update
> -----------------------------------------------------------------ここまで

タイプミスかもしれませんが、最後の * と /usr/local.. の間にはスペース
またはタブが入ります。
また、これは毎日 15時0分,6分,12分,18分 に更新することになりますが正し
いですか?
crontabの書式はman 5 crontabでわかります。

15 */6 * * * /usr/local/bin/ddns_update
がお望みのものなような気がしますが…。

> 3. エディタを終了、ファイルを保存するか聞かれるのでYと答えた。

これは一時ファイルですね。

> 4. ディレクトリ画面になり、どこに行けばいいのか分からなくなった。

ディレクトリ画面というのは何かな?
保存する場所ということでしょうか。基本的に一時ファイルにそのまま上書き
すればいいだけです。

> 5. 本を参考に /var/spool/cron/ 以下へ。
> 6. 本には「ここにユーザごとに設定が保存される」とある。
> が、自分用の設定と思われるファイルが無い。
> 7. 仕方がないのでエディタを終了、crontabより
> 「crontab: no changes made to crontab」と言われる。

各ユーザのcronは/var/spool/cron/crontab/に置かれます。
が、これは直接編集するものではなく、crontab -eを使って一時ファイルを経
由してアクセスするものです。
crontab -e で生成される一時ファイルに上書きする形で更新を行いましょう。

#rootで動作させたいスクリプトの場合には/etc/crontabや/etc/cron.d/など
#を使う方法もあります。これはそこにあるファイルをいろいろ見てみるとわか
#るでしょう。
-- 
武藤 健志@Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://www.topstudio.co.jp/~kmuto/ (Debianな話題など)