Hatena::¥Ö¥í¥°(Diary)

¤È¤¢¤ë¥×¥í¥°¥é¥Þ¤ÎÈ÷˺Ͽ ¤³¤Î¥Ú¡¼¥¸¤ò¥¢¥ó¥Æ¥Ê¤ËÄɲà RSS¥Õ¥£¡¼¥É

2009-07-02

Solaris¤Îcron(¥¯¡¼¥í¥ó)ÀßÄê¤Îæ«

| 22:06 | Solaris¤Îcron(¥¯¡¼¥í¥ó)ÀßÄê¤Î櫤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ Solaris¤Îcron(¥¯¡¼¥í¥ó)ÀßÄê¤Î櫤Υ֥寥ޡ¼¥¯¥³¥á¥ó¥È

ËÜÍèÀ½Éʤò»È¤¦¤È¤³¤í¤Î¥¹¥±¥¸¥å¡¼¥é¡¼¤ò¥Æ¥¹¥È´Ä¶­¤Çư¤«¤¹¤¿¤á¤Ë¡¢

cron¤ò»È¤Ã¤Æµ¼»÷Ū¤Ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤·¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡£¡£¡£

¹ªÌ¯¤Ê櫤ÎϢȯ¤Ç¤·¤¿¡£Solaris¤É¤ó¤À¤±¡¼orz

¡ö¡ö¡öÀßÄêÆâÍÆ

UNIX:Solaris¤Î´Ä¶­¤Ë¤Æ¡¢cron¤ò»È¤¤¡¢¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤Ç¸Æ¤Ó½Ð¤·¤¿PERL¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¡£

¡ö¡ö¡öæ«

­¡¤Þ¤º¤Ï¥¨¥Ç¥£¥¿¡¼¤òvi¤ËÀßÄꤷ¤Ê¤¤¤Ècron¤òÊѹ¹¤Ç¤­¤Ê¤¤¡ª

­¢Perl¤Î¥Õ¥¡¥¤¥ë¤ò¤¤¤­¤Ê¤êcron¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡ª

­£root¤ÇÀÚ¤é¤ì¤Æ¤¤¤Ê¤¤´Ä¶­ÊÑ¿ô¤Ï¥·¥§¥ë¤Çexprot¤¹¤ë¤³¤È¡ª

­¤LINUX¤È¤Ïnʬ¤Ë°ì²ó½èÍý¤¹¤ë¾ì¹ç¤Îµ­½ÒË¡¤¬°ã¤¦¡ª

­¥¼Â¹Ô¸¢¸Â¤òÅϤ·¤Æ¤ä¤ë¤³¤È¡£

­¦¥í¥°¤Ë¥¨¥é¡¼¤Î¾ÜºÙ¤Ï½Ð¤Þ¤»¤ó¡ª


³Ð½ñ¥¹¥¿¡¼¥È

root¸¢¸Â¤ÇÆþ¤ê¡¢¸½ºß¤Îcron¤ÎÀßÄê¤ò³Îǧ

$ su - root

#crontab -l

¤³¤ó¤Ê²èÌ̤¬½Ð¤Æ¤­¤Þ¤¹¡£

# crontab -l

#ident "@(#)root 1.21 04/03/23 SMI"

#

# The root crontab should be used to perform accounting data collection.

#

#

10 3 * * * /usr/sbin/logadm

15 3 * * 0 /usr/lib/fs/nfs/nfsfind

30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean

¤³¤ì¤ÏSolaris¤Î¥Ç¥Õ¥©¥ë¥È¤ÎCronÀßÄê¡¢¤³¤³¤ËJOB¤òÄɲ䷤Ƥ¤¤­¤Þ¤¹¡£

cron¤ÎÀßÄê¤òÊѹ¹¤¹¤ë¾ì¹ç¤Ï¤³¤Î¥³¥Þ¥ó¥É

crontab -e

¤¹¤ë¤È¤³¤ó¤Ê¤ó¤¬½Ð¤Þ¤·¤¿¡£

309

309?²¿¤¬¡©½Ö´ÖŪ¤Ëº®Í𡢤褯¤è¤¯Ä´¤Ù¤Æ¤ß¤ë¤È¡¢Solaris¤Ç¤Ïɸ½à¥¨¥Ç¥£¥¿¡¼¤¬

ed¤È¤«¤¤¤¦¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤é¤·¤¤¡÷¡÷¡¨

¤è¤Ã¤Æ»È¤¤¤Ê¤ì¤¿vi¤Ë¥¨¥Ç¥£¥¿¡¼¤òÊѹ¹

# EDITOR=vi

# export EDITOR

¤â¤¦°ì²ó³«¤¯¤È

#ident "@(#)root 1.21 04/03/23 SMI"

#

# The root crontab should be used to perform accounting data collection.

#0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/perltest/start.sh

#

10 3 * * * /usr/sbin/logadm

15 3 * * 0 /usr/lib/fs/nfs/nfsfind

30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean

OK!ÆÉ¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

º£²ó¤ÎÌÜŪ¤È¤·¤Æ¤ÏPERL¤ò5ʬ¤Ë°ì²ó¸Æ¤Ó½Ð¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢

cron¤Ï¤¤¤­¤Ê¤ê.pl¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤é¤·¤¤¤Î¤Ç¤¹¡£

¤è¤Ã¤Æ¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤òºîÀ®

start.sh

#!/bin/sh

#PERL

/usr/bin/test.pl

exit 0

¡Ö¤Õ¤Ã¡¢Ä´¤Ù¤ì¤Ð¤³¤ì¤¯¤é¤¤¤¿¤¤¤·¤¿¤³¤Î¤Ê¤¤¤Î¤À¤è¡×(´Ä¶­ÊÑ¿ô¤¬¤¢¤ë¾ì¹ç¤Ï°ìÈÖ¤·¤¿¤Î¥·¥§¥ë¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£)

¥·¥§¥ë¤òñÂΤǼ¹Ԥ·¤Æ¤ß¤ë¡£

./start.sh

¼Â¹Ô¸¢¤¬¤¢¤ê¤Þ¤»¤ó

orz

# chmod u+x start.sh

¤³¤ì¤Ç¥·¥§¥ë¤¬¤Ç¤­¤¿¡£

¤ä¤Ã¤È¡¢cron¤ÎÀßÄê

¥°¡¼¥°¥ëÀèÀ¸¤òÍê¤ê¤Ëcron¤Î½ñ¤­Êý¤ò³Ø¤Ó¡¢

¤³¤Î¹Ô¤ò°ìÈÖ²¼¤ËÄɲÃ

¡¡*/5 * * * * /usr/bin/test.sh

¤È¤³¤í¤¬¡¢

crontab: Á°¤Î¹Ô¤Ë¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹; unexpected character found in line.

¥Ï¥¡¡©¡Ê¡ô¡¬§¸¡¬¡Ë

¤Þ¤¿Ä´¤Ù¤ë±©Ìܤˡ¢¤É¤¦¤ä¤éSolaris¤Î¾ì¹ç¤Ï¤³¤Î½ñ¤­Êý¤Ï¤Ç¤­¤Ê¤¤¤é¤·¤¤¡£¤è¤Ã¤Æ¤³¤ó¤ÊÌÌÅݤʵ­½Ò¤ËÊѹ¹

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/start.sh

¡Ö¤ª¹â¤¯¤È¤Þ¤ê¤ä¤¬¤Ã¤Æ¡ª¡×

¿´¤ÎÃæ¤ÇÆÇ¤Å¤­¤Ê¤¬¤é5ʬÂÔ¤Á¡¢¥í¥°¤ò¸«¤Æ¤ß¤ë

# view /var/cron/log

¤Á¤ã¤ó¤È¥·¥§¥ë¤¬¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£

¡¦¡¦¡¦¤Ç¤â¼Â¤Ï¤³¤Î¼Â¹Ô¤·¤Æ¤¤¤ëPerl¤Ï½èÍý¤¬½ª¤ï¤ë¤È¼«ºî¤Î¥í¥°¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ¹¤ë»ÅÍͤÀ¤Ã¤¿¤Î¤Ç¤¹¡£

¤Ç¤¹¤¬¡¢ÂԤƤÉÊë¤é¤»¤ÉÁ´Á³¥í¥°¤¬ÅǤ«¤ì¤Ê¤¤¡£

¤ª¤«¤·¤¤¡¢¤ª¤«¤·¤¤¤¾¡©

cron¥í¥°¤ò¸«¤Æ¤âÀµ¾ï¤Ëưºî¤·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡£

¼ÂºÝ¥·¥§¥ë¤Ïư¤¤¤Æ¤¤¤ë¡£

²¿¤Ç¥í¥°¤¬ÅǤ«¤ì¤Ê¤¤¤Î¤«¤µ¤Ã¤Ñ¤ê¤ï¤«¤é¤Ê¤¤¾õÂ֤Ǥ·¤¿¤¬¡¢KÀèÇÚ¤«¤é

ÀèÇڡ֥᡼¥ë¤ËÊѤʥ¨¥é¡¼¤¬Íè¤Æ¤ë¤è¡©¡×

²¶¡Ö¥á¡¼¥ë¡©¡×

# mail

Subject: Output from "cron" command

Content-Length: 276

Your "cron" job on aquarius

/usr/bin/start.sh

produced the following output:

DBI connect failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc. at /usr/bin/test.pl line 25

¤Ê¤ë¤Û¤É¡¢¤Þ¤µ¤«¥á¡¼¥ë¤Ç¥¨¥é¡¼¤ò¤è¤³¤¹¤È¤ÏÌ´¤Ë¤â»×¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤è¡£

¤Ê¤Î¤Ç¥·¥§¥ë¤Ë´Ä¶­ÊÑ¿ô¤òÄɲäÀÃÜÀ¸¡ª

#!/bin/sh

#´Ä¶­ÊÑ¿ôÀßÄê

ORACLE_BASE=[ORACLE_BASE PATH] ; export ORACLE_BASE

ORACLE_HOME=[ORACLE_HOME PATH] ; export ORACLE_HOME

ORACLE_SID=[SID] ; export ORACLE_SID

#PERL

/usr/bin/test.pl

exit 0

ORACLE¤ÎPATH¤Ï¥Þ¥·¥óÀßÄê¤òÆþ¤ì¤ë¡£

¤³¤³¤Ç½ªÎ»¡£

Ť«¤Ã¤¿¡¢Èè¤ì¤¿¡£

ºÇ¸å¤ËSolaris¤ÇcronºÆµ¯Æ°¤¹¤ë¾ì¹ç¤Ï¤³¤ó¤Ê´¶¤¸

¡Êroot¡Ë

# svcadm restart svc:/system/cron:default

¡Êuser¡Ë

$ sudo svcadm restart svc:/system/cron:default

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯ - http://d.hatena.ne.jp/raharu0425/20090702/1246539986