[______TOC_______]
[NEXT CHAPTER]
1 概è¦
ã¾ã¨ã‚ãŠãりã¨ã¯ã€Œãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ ã§ã¯ãªãN時間ãŠãã«ï¼®æ™‚間分ã®ï¼ï¼¬ã®è¨˜äº‹
ã‚’ã¾ã¨ã‚ã¦é€ã‚Šã¤ã‘ã‚‹ã€ã“ã¨ã§ã™ã€‚
fml ã§ã¯ msend ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ を定期的ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ã§ã¾ã¨ã‚ãŠãりを
行ãªã„ã¾ã™ã€‚ã“ã®ãŸã‚ã«OSã«ã‚ã‚‹"指定ã•れãŸãƒ—ãƒã‚°ãƒ©ãƒ を定期的ã«å®Ÿè¡Œã™ã‚‹"
cron ã¨ã„ã†æ©Ÿèƒ½ã‚’使ã„ã¾ã™ã€‚ã“れ㯠OS ã® cron ã¨ã„ã†æ©Ÿèƒ½ã‚’使ã£ã¦è¨å®šã‚’
ã—ã¦ãã ã•ã„。
msend => 2.0 section
cron => 2.17 section
/var/spool/ml/elena/crontab ã¨ã„ã†ãƒ•ァイルãŒOSã«è¨å®šã™ã‚‹ã¹ã
見本ã®ãƒ•ァイルã§ã™ã€‚è¨å®šã¯ crontab ã¨ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã‚’使ã„ã¾ã™ã€‚
% crontab /var/spool/ml/elena/crontab
1.1 管ç†è€…ã®ã™ã‚‹ã¹ãã“ã¨
cron ã«è¨å®šã—ã¦ä¸‹ã•ã„。ãれã ã‘ã§ã™ã€‚ã‚ã¨ã¯
ã¾ã¨ã‚é€ã‚Šãƒ—ãƒã‚°ãƒ©ãƒ ãŒã‚ˆãã«ã¯ã‹ã‚‰ã„ã¾ã™ã€‚
ユーザã®ã¾ã¨ã‚é€ã‚Šå¸Œæœ›è€…ã¯ã‚³ãƒžãƒ³ãƒ‰ã§è¨å®šã™ã‚‹ã‚ˆã†ã«æ•™ãˆã‚‹
ã ã‘ã§ã™ã€‚
% makefml newml elena
% crontab /var/spool/ml/elena/crontab
1.2 ユーザã®ã™ã‚‹ã“ã¨
matome 3mp
ã¨ã„ã£ãŸã‚³ãƒžãƒ³ãƒ‰ã‚’ elena-ctl ã¸ãŠãã£ã¦ã‚‚らã†ã“ã¨ã§ã™ã€‚一般形ã¯
matome 時間ã¨ã‚ªãƒ—ション
ã§ã™ã€‚ヘルプファイルã«ã›ã¤ã‚ã„ãŒã‚りã¾ã™ã€‚
例: /var/spool/ml/elena/help
通常é…é€ã«æˆ»ã™æ™‚ã¯
matome 0
1.3 Cron (FML Vixie cron compatible program, bin/cron.pl)
â—‹ cron.pl ã£ã¦ä½•?
cron.pl(例: /usr/local/fml/bin/cron.pl)ã¯ã‚·ã‚¹ãƒ†ãƒ ã«ãƒ¦ãƒ¼ã‚¶ã”ã¨ã«å®šç¾©ã§
ãã‚‹ cron ãŒãªã„å ´åˆã«ä½¿ã„ã¾ã™ã€‚ã¾ãšã¯ãƒ¦ãƒ¼ã‚¶ã”ã¨ã«å®šç¾©ã§ãã‚‹ cron ãŒãª
ã„ã‹ã©ã†ã‹ã‚’調ã¹ã¦ä¸‹ã•ã„。ã¾ãšã¯ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’引ã„ã¦ã¿ã¦ä¸‹ã•ã„。
man cron
man crontab
を試ã—ã¦ã¿ã‚‹ã®ãŒæœ€åˆã§ã™ã€‚
â—‹ ã©ã†å‹•ãã®ï¼Ÿ
å‹•ãã¨ã—ã¦ã¯OS附属㮠cron ã¨åŒã˜ã§ã™ã€‚ã¤ã¾ã‚Šï¼‘分ã«ä¸€å›žèµ·ãã¦ä»Šã‚„ã‚‹ã¹ã
ã“ã¨ãŒã‚ã‚‹ã‹ã©ã†ã‹ã‚’確èªã™ã‚‹ãŸã‚ã«crontabを見ã¾ã™ã€‚ãã—ã¦ã™ã‚‹ã¹ãã“ã¨
ãŒã‚れã°ãれを実行ã—ã¾ã™ã€‚
â—‹ cron.pl ã¯èª°ãŒã„ã¤èµ°ã‚‰ã›ã‚‹ã‹ï¼Ÿ
管ç†è€…ãŒæ‰‹ã§èµ·å‹•ã—ã¦ã‚‚ã„ã„ã—ã€fml.pl ㌠cron.pl を走らã›ã¦ã‚‹ã‚ˆã†ã«ã—ã¦
もよã„ã§ã™ã€‚注æ„ã¨ã—㦠fml.pl ã‹ã‚‰ cron.pl を走らã›ã‚‹ã¨å„ï¼ï¼¬ã”ã¨ã«ä¸€
ã¤ã®cronãŒèµ°ã£ã¦ç„¡é§„ã§ã™ã€‚複数ã®ï¼ï¼¬ãŒã‚ã‚‹å ´åˆã¯ä¸€ã¤ã® cron.pl ã§è¤‡æ•°
ã®ï¼ï¼¬ã‚’担当ã™ã‚‹ã‚ˆã†ãªè¨å®šãƒ•ァイルを書ãã®ãŒè‰¯ã„ã§ã™ã€‚
fml.pl ã‹ã‚‰èµ·å‹•ã™ã‚‹ã¨ä½•回も cron.pl ã‚’èµ·å‹•ã—ã¾ã™ãŒã€è¤‡æ•°ã¯èµ°ã‚Šã¾ã›ã‚“。
最åˆã®ä¸€å€‹ä»¥å¤–ã¯è‡ªæ®ºã—ã¾ã™ã€‚å„ï¼ï¼¬ã”ã¨ã«ä¸€ã¤ã§ã™ã€‚$CRON_PIDFILE
($DIR/var/run/cron.pid)ã¨ã„ã†ãƒ•ァイルã«ãƒ—ãƒã‚»ã‚¹ç•ªå·ã‚’ä¿å˜ã—ä¸€æ„æ€§ã‚’ä¿
証ã—ã¦ã„ã¾ã™ã€‚
â—‹ cron.plã¯ä¸€åº¦èµ·å‹•ã™ã‚‹ã¨ãšã£ã¨èµ°ã£ã¦ã„る?
ç†æƒ³çš„ã¨ã—ã¦ã¯ãã†ã§ã™ã€‚ãŒã€cron.pl ãŒçŸ¥ã‚‰ãªã„é–“ã«è½ã¡ã¦ã‚‹ã‹ã‚‚ã—れãªã„?
ã¨ã„ã†å¯èƒ½æ€§ã‚‚ã‚りã¾ã™ã€‚システム㮠cron ãªã‚‰å¤§ä¸ˆå¤«ã§ã™ãŒã€ãƒžã‚·ãƒ³ãŒãƒªãƒ–ー
トã—ãŸã‚‰å½“ç„¶FMLã®cronã¯æ¢ã¾ã£ãŸã¾ã¾ã«ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚ãã®ãŸã‚何らã‹
ã®æ–¹æ³•ã§å®šæœŸçš„ã«èµ·å‹•ã—ãªãŠã—ã¦ã‚„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
â—‹ 注æ„
ã¾ãŸé•·ã走りéŽãŽã¦ãŠã‹ã—ããªã‚‹å ´åˆã‚‚考慮ã—ã¦ãƒ‡ãƒ•ォールトã§ã¯24æ™‚é–“ã§æ¬¡
ã® cron.pl ã‚’èµ·å‹•ã—ãªãŠã—ã¾ã™ã€‚ã“れã¯äºˆé˜²ç–ã§ã‚ã£ã¦å¿…ãšã—ã‚‚ã™ã‚‹å¿…è¦ã¯
ã‚りã¾ã›ã‚“。-n オプションをã¤ã‘ã‚‹ã¨ãšã£ã¨èµ°ã‚Šç¶šã‘るよã†ã«ãªã‚Šã¾ã™ã€‚
○ コマンドシンタックス
SYNOPSIS
cron.pl [-a] [-d] [-b43] [-fcrontab] [-bd] $DIR [$LIBDIR]
-d debug mode
-a run eternally(default: 180sec. = 60sec. * 3times)
-n working all times without RESTART
-mtimes run from now to (60 * times) sec. after
-fcrontab-file alternative crontab
-h show this help and exit
-bd daemon (Become Daemon)
-bOSTYPE -b43(OSTYPE = 43): 4.3BSD Like. not mailed to you
-b43 オプションã¯
$CRON_NOTIFY = 0; (default 1)
ã¨ã„ã†ã“ã¨ã‚’ã—ã¾ã™ã€‚デフォールトã§ã¯ cron ãŒä½•らã‹ã®å‡¦ç†ã‚’ã—ãŸå ´åˆã¯ã
ã®ãƒã‚°ã‚’ãã®ãƒ¦ãƒ¼ã‚¶ã«çŸ¥ã‚‰ã›ã¾ã™ã€‚
ã¾ãŸãƒ‡ãƒ•ォールトã§ã¯ cron.pl ã¯ãƒ‡ãƒ¼ãƒ¢ãƒ³åŒ–ã—ã¾ã›ã‚“。
-onotty
オプションをã¤ã‘ã‚‹ã¨è‡ªåˆ†ã§ãƒ‡ãƒ¼ãƒ¢ãƒ³åŒ–ã—ã¾ã™ã€‚
ã†ã¾ãã„ã‹ãªã„OSãŒã‚りã†ã‚‹ã“ã¨ã‚’考慮ã—ã¦ãƒ‡ãƒ•ォールトã§ã¯
$NOT_USE_TIOCNOTTY = 1; # no ioctl
ã¤ã¾ã‚Šãƒ‡ãƒ¼ãƒ¢ãƒ³ã«ãªã‚‰ãªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚
1.4 Vixie Cron
4.4BSD ã«ã¯ Paul Vixie ã®æ›¸ã„ãŸå„ユーザã”ã¨ã« cron を定義ã§ãã‚‹ cron
ãŒå…¥ã£ã¦ã„ã¾ã™ã€‚ã“れãŒã‚ã‚‹ãªã‚‰ cron.pl ã¯è¦ã‚‰ãªã„ã§ã™ã€‚詳ã—ãã¯ã‚·ã‚¹ãƒ†
ムã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’見ã¦ä¸‹ã•ã„。
#全然関係ãªã„ã‘ã© vixie enterprise ã«ftp.NetBSD.ORGã¨ã‹ã‚りã¾ã™ã€‚
#Vixieå‰ã„
cron (8) - daemon to execute scheduled commands (Vixie Cron)
crontab (1) - maintain crontab files for individual users (V3)
crontab (5) - tables for driving cron
å¤ã„OSã«ã¯ã‚りã¾ã›ã‚“。ã—ã‹ã—元々入ã£ã¦ã„ãªãã¦ã‚‚管ç†è€…ã®äººãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼
ルã—ã¦ã„ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。探ã—ã¦ã¿ã‚‹ä¾¡å€¤/èžã„ã¦ã¿ã‚‹ä¾¡å€¤ã¯ã‚りã¾ã™ã€‚
FMLã®cron.plã¯ã‚ãã¾ã§ã‚‚『ãã†ã„ㆠcron ã‚’æä¾›ã—ã¦ãれã¦ã„ãªã„OSã€ã§ã¾
ã¨ã‚é€ã‚Šã‚’支æ´ã™ã‚‹ãŸã‚ã®ã‚‚ã®ã§ã™ã€‚ã“ã†ã„ã†ã‚µãƒ¼ãƒ“スã¯OSãŒæä¾›ã—ã¦ãれる
ã®ãŒæœ¬ç‹ã¨ã„ã†ã¹ãã§ã—ょã†ã€‚
1.5 cron.plを自動的ã«èµ·å‹•ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã¯ï¼Ÿ
システムãŒå®šæœŸçš„ã«ä½•ã‹ã‚’ã—ã¦ãれãªã„ã®ã§ã€cron.pl ã‚’ãªã‚“ã¨ã‹ã—ã¦(ç–‘ä¼¼
定期的ã«)èµ·å‹•ã—ãŸã„ã‚ã‘ã§ã™ã€‚å•題ã¯ã©ã†èµ·å‹•ã™ã‚‹ã‹ï¼Ÿã ã‘ã§ã™ã€‚
ã¾ãšèµ·å‹•自体ã¯
% cron.pl $DIR(config.phã®å ´æ‰€) $LIBDIR(libsmtp.plã¨ã‹ã®å ´æ‰€)
ã®å½¢ã§èµ·å‹•ã—ã¾ã™ã€‚
#注æ„: Argument ãŒãªã„ã¨ã€ãã®ç’°å¢ƒã® $HOME ã«ã„ã£ã¦ã—ã¾ã†
å•題ã¯ã©ã†ã‚„ã£ã¦å®šæœŸçš„ã«èµ·å‹•をトライã™ã‚‹ã‹ã§ã™ãŒã€ä¾‹ãˆã°
1. ãŸã¨ãˆã° ~/.login ã§ cron.pl ã‚’èµ·å‹•ã™ã‚‹ã¨ã‹(ã™ã§ã«èµ°ã£ã¦ã„れã°èµ°
らãªã„ã‹ã‚‰å¤§ä¸ˆå¤«)…
2. loginã—ãŸã¨ãã€ã¾ã‚ã«(手動ã§)ãŸã¡ã‚ã’ã‚‹ã¨ã‹â€¦
3. MLサーãƒã«ãƒ¡ãƒ¼ãƒ«ãŒæ¥ãŸã¨ãã«èµ·å‹•ã•ã›ã‚‹â†“ã¨ã‹â€¦
ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚3ã®è¨å®šã¨ã—ã¦ã¯ config.ph ã«
$CRON_PIDFILE = "$DIR/var/run/cron.pid";
$CRONTAB = "$DIR/etc/crontab";
$FML_EXIT_PROG = "$LIBDIR/bin/cron.pl $DIR $LIBDIR -a";
ã‚’ã¤ã‘ãŸã—ã¾ã™ã€‚
#ã„ãšã‚Œã‚‚é©å½“ã«ãƒ‘スã¨ã‹ã¯å¤‰ãˆã¦ãã ã•ã„
cron.pid 㯠cron.pl ã® pid を記録ã™ã‚‹ãƒ•ァイルã§ã™(/var/run/cron.pidã«
相当ã™ã‚‹ã‚‚ã®)。
crontab 㯠システム㮠/var/cron/tabs/$USER (4.3BSDã®/etc/crontab)ã«ç›¸
当ã™ã‚‹ã‚‚ã®ã§ã™ã€‚makefml newml ã—ãŸæ™‚ã«å„ï¼ï¼¬ã® HOME (config.phã®ã‚ã‚‹å ´
所)ã«ã¯ crontab ã¨ã„ã†è¦‹æœ¬(4.4BSDå½¢å¼) ãŒä½œã‚‰ã‚Œã¾ã™ã€‚4.4BSD å½¢å¼ã§ã¯ã“
れを使ãˆã°ã¾ã¨ã‚é€ã‚Šã®è¨å®šãŒã§ãã¾ã™ã€‚
[Example]
% makefml newml elena
...
% cd /var/spool/ml/elena
% crontab crontab
***注æ„***
cron.pl 㯠4.4BSD FORMAT ã‚’ç†è§£ã—ã¾ã™ã€‚4.3BSDã®å½¢å¼ã§ã¯ã‚りã¾ã›ã‚“
[______TOC_______]
[NEXT CHAPTER]