¿È ÊÕ ÄÌ ¿®



2005ǯ01·î06Æü¡ÊÌÚ¡Ë

¿·Ç¯ÌÀ¤±¤Þ¤·¤Æ¤ª¤á¤Ç¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£ËÜǯ¤â²¿Â´µ¹¤·¤¯¤ª´ê¤¤Ãפ·¤Þ¤¹¡£

ǯÌÀ¤±Âè°ìÃÆ¤Ï¡¢apache¤Î¥¢¥¯¥»¥¹¥í¥°¤òÆüÊ̤˥ե¡¥¤¥ë²½¤·¤¿¤¤¤È»×¤¤¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
apache¤Î¥í¥°¤ÏÆüÊ̤˴ÉÍý¤·¤Æ¤ª¤¤¤¿¤Û¤¦¤¬¡¢²¿¤«¤ÈÊØÍø¤Ç¤·¤¿¤Î¤Ç²áµî¤Îµ­²±¤ò¤¿¤É¤ê¡Ê¡©¡Ë¼«ºî¤·¤Æ¤ß¤Þ¤·¤¿¡£
À¤¤ÎÃæ¤Ë¤Ï¤â¤Ã¤È´Êñ¤ÊÊýË¡¤ä¤¹¤Ð¤é¤·¤¤ÊýË¡¤Ç¼Â¹Ô¤Ç¤­¤ëÂåʪ¤¬¤¢¤ë¤Î¤À¤È»×¤¤¤Þ¤¹¤¬¡¢
¤Ê¤ó¤È¤Ê¤¯²û¤«¤·¤¯¡Övi¡×¤ò¶î»È¤·¤Æ¡¢ºîÀ®¤·¤Æ¤ß¤Þ¤·¤¿¡£

¡¡¡¡¡¡Í¾Ã̤Ǥ¹¤¬vi¤Ï¤¹¤Ð¤é¤·¤¤¥¨¥Ç¥£¥¿¤Ç¤¹¤è¤Í¡£À¤¤ÎÃæ¤Ç°ìÈÖÍ¥¤ì¤Æ¤¤¤ë¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤À¤È¸Ä¿ÍŪ¤Ë¤Ï»×¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤Ê¤ó¤È¤¤¤Ã¤Æ¤âÁàºîÀ­¤¬¤¹¤Ð¤é¤·¤¤¡ª¥Æ¥ó¥­¡¼¤Ï¤¢¤Þ¤ê¿¨¤é¤Ê¤¤Êý¤Ê¤Î¤Ç¡¢¤È¤Ë¤«¤¯¼ê¤¬³Ú¤Ç¤¹¡£


µ¡Ç½¡¦¾ò·ï¤È¤·¤Æ¤Ï¡¢
­¡¸áÁ°2»þ¤´¤íµ¯Æ°¤·¤Æ¡¢ºòÆüʬ¤ò¤Ò¤È¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ïaccess_log.YYYYMMDD¤È¤·¤Þ¤¹¡£
­¢½ÐÎÏÀè¤Ï¡¢/var/log/httpd/YYYY¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£
­£¥·¥§¥ë¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë̾¤Ïobarotate¤È¤·¤Þ¤·¤¿¡£
­¤RHL9.0¡ÊLinux¡Ë¤Çưºî³Îǧ¤¤¤¿¤·¤Þ¤·¤¿¡£

¤Þ¤º¤Ï¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
################ 2005.01.06
## Oba Rotate ## access_log kara hibetsu akusesu rogu wo kiridashi masu.
################

yesterday=$(env LANG=C date --date '1 days ago' '+%d/%b/%Y')
datestr=$(date --date '1 days ago' '+%Y%m%d')
datestr2=$(date --date '1 days ago' '+%Y')

mkdir /var/log/httpd/$datestr2 > /dev/null 2>&1

grep $yesterday /var/log/httpd/access_log.1 > /var/log/httpd/oba1.tmp
cat /var/log/httpd/oba1.tmp > /var/log/httpd/$datestr2/access_log.$datestr

grep $yesterday /var/log/httpd/access_log > /var/log/httpd/oba2.tmp
cat /var/log/httpd/oba2.tmp >> /var/log/httpd/$datestr2/access_log.$datestr

¡ã²òÀâ¡ä
¤Þ¤º¤ÏºòÆü¤ÎÆüÉÕ¤òÅÔ¹ç¤Î¤¤¤¤¤è¤¦¤Ë¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Æ¤¢¤²¤Þ¤¹¡£
yesterdayÊÑ¿ô¤Ïapache¥í¥°¤«¤é¥Ç¡¼¥¿¤òÈ´¤­½Ð¤¹°Ù¡¢¤¿¤È¤¨¤Ð¡Ö01/Jan/2005¡×¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

ǯÊ̤˴ÉÍý¤·¤¿¤¤¤¿¤á¡¢Ç¯¡ÊÀ¾Îñ¡Ë¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¥¨¥é¡¼½ÐÎϤÏnull¥Ç¥Ð¥¤¥¹¤Ø½ÐÎϤ·¤Þ¤¹¡£

¤¢¤È¤Ïñ½ã¤Ç¤¹¡£access_log¤«¤éºòÆü¤ÎÆüÉդΥǡ¼¥¿¤ò¼è¤ê½Ð¤·¡¢access_log.YYYYMMDD¥Õ¥¡¥¤¥ë¤Ø½ÐÎϤ·¤Þ¤¹¡£
¤Ê¤¼access_log.1¤«¤é¤âÃê½Ð¤·¤Æ¤¤¤ë¤«¤È¿½¤·¤Þ¤¹¤È¡¢¥í¥°¥í¡¼¥Æ¡¼¥·¥ç¥ó¤Î´Ø·¸¤Ç¡¢access_log.1¤ËºòÆüʬ¤¬³ÊǼ¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¤³¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤ê¤Þ¤¹¡£

°ì»þ¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Æ¤¤¤ëÉôʬ¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤ÏÆÃ¤ËɬÍפ¢¤ê¤Þ¤»¤ó¡£

¼¡¤Ëcrontab¤òÀßÄꤷ¡¢¥Ð¥Ã¥Á¥¸¥ç¥Ö¤Ë¤Î¤»¤Þ¤¹¡£
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 6 * * * root run-parts /etc/cron.daily
22 6 * * 0 root run-parts /etc/cron.weekly
42 6 1 * * root run-parts /etc/cron.monthly
00 2 * * * root /etc/cron.daily/obarotate
¡ã²òÀâ¡ä
/etc/crontab¤ò³«¤­¡¢ÀÖʸ»ú¤ÎÉôʬ¤òÄɲä·¤Þ¤¹¡£
¡ÊÁ°½Ò¤Î¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò¡Öobarotate¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤ÇÊݸ¤·¡¢/etc/cron.daily¤Ë³ÊǼ¤·¤¿¾ì¹ç¡Ë
¤³¤ÎÀßÄê¤Ç¤Ï¡¢¸áÁ°2»þ¥¸¥ã¥¹¥È¤Ëobarotate¤¬Æ°ºî¤¹¤ëÀßÄê¤È¤¤¤¿¤·¤Þ¤·¤¿¡£
crontab¤ò½ñ¤­¹þ¤ß¡¢½àÈ÷´°Î»¤Ç¤¹¡£

¤¢¤È¤Ï¤Û¤¦¤Ã¤Æ¤ª¤±¤Ð¥¢¥¯¥»¥¹¥í¥°¤¬ÆüÊ̤˥ե¡¥¤¥ë²½¤µ¤ì¤Þ¤¹¡£
crond¤¬Æ°ºî¤·¤Æ¤¤¤ëɬÍפϤ¢¤ê¤Þ¤¹¤¬¡¦¡¦¡¦


¡ãºÇ¸å¤Ë¡ä
¤´³èÍѤ¤¤¿¤À¤±¤ì¤Ð¤È»×¤¤µ­Ï¿¤·¤Æ¤ª¤­¤Þ¤·¤¿¡£¤È¤¤¤¦¤è¤ê»ä¸Ä¿Í¤Î¥á¥âÄ¢Âå¤ï¤ê¤Ë¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¤Í¡£
¤Þ¤Àưºî»þ´Ö¤¬Ã»¤¤¤Ç¤¹¤Î¤Ç¡¢²¿¤«¤´¤¶¤¤¤Þ¤·¤¿¤é¤ªÃΤ餻¤¯¤À¤µ¤¤¡£