{"id":102,"date":"2010-04-17T22:48:10","date_gmt":"2010-04-18T07:48:10","guid":{"rendered":"\/blog\/?p=102"},"modified":"2023-09-21T09:41:15","modified_gmt":"2023-09-21T00:41:15","slug":"syslog","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=102","title":{"rendered":"syslog"},"content":{"rendered":"\n<H3>\uc18c\uac1c <\/H3>\n<DIV>syslog\ub294 <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=Unix\" target=\"_blank\" rel=\"noopener\">Unix<\/A> \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ub85c\uadf8\uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574\uc11c \uc81c\uacf5\ud558\ub294 (\ub9e4\uc6b0 \uc624\ub798\ub41c)\ud45c\uc900 \uc778\ud130\ud398\uc774\uc2a4 \uc911 \ud558\ub098\ub2e4. \uc774\uac83\uc744 \uc774\uc6a9\ud558\uba74, \uc2dc\uc2a4\ud15c\uc774\ub098 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uac01\uc885 \uba54\uc2dc\uc9c0\ub97c \uccb4\uacc4\uc801\uc73c\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\ub2e4. \ub610\ud55c \ud45c\uc900\uc774\uae30 \ub54c\ubb38\uc5d0, \uc6b4\uc601\uccb4\uc81c\uc5d0 \uad00\uacc4\uc5c6\uc774 \ub3d9\uc77c\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\ub294 \uc7a5\uc810\ub3c4 \uc81c\uacf5\ud55c\ub2e4.<br \/><br \/>\n<DIV>\uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uad73\uc774 \uc774\ub7ec\ud55c \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\ub294 \ub8e8\ud2f4\uc744 \ub9cc\ub4e4\uc9c0 \uc54a\uace0, syslog\ub97c \uc0ac\uc6a9\ud558\ub294\ub370\uc5d0\ub294 \uba87\uac00\uc9c0 \uc774\uc720\uac00 \uc788\ub2e4. \uc77c\ub2e8 \uba54\uc2dc\uc9c0\ucc98\ub9ac\ub97c \uc704\ud55c \ub8e8\ud2f4\uc5d0 \ud2b9\ubcc4\ud788 \uc2e0\uacbd\uc4f0\uc9c0 \uc54a\uace0 \ub2e4\ub978 \ud2b9\ud654\ub41c \ubaa8\ub4c8\uc5d0 \ub9de\uae40\uc73c\ub85c\uc368, <STRONG>\uc791\uc740\uac83\uc774 \uc544\ub984\ub2f5\ub2e4<\/STRONG> \ub77c\ub294 unix \ucca0\ud559\uc5d0 \ubd80\ud569\ub428\uacfc \ub3d9\uc2dc\uc5d0, \ucf54\ub529\uc2dc \ub77c\uc778\uc218\ub97c \ub300\ub2e8\ud788 \ub9ce\uc774 \uc904\uc77c\uc218 \uc788\ub2e4\ub77c\ub294 \uc810 \uadf8\ub9ac\uace0 \uac80\uc99d\ub41c \uc548\uc804\ud55c \ub3c4\uad6c\ub77c\ub294 \uc810\uc774\ub2e4.<br \/><br \/>\n<DIV>\n<H3>syslog\uc758 \uae30\ubcf8 <\/H3>\n<DIV>\uc774\ub7ec\ud55c \uac01 \uba54\uc2dc\uc9c0\uc758 \ucc98\ub9ac\ub294 syslogd \ub77c\ub294 \ub370\ubaac\ud504\ub85c\uadf8\ub7a8\uc5d0 \uc758\ud574\uc11c \ucc98\ub9ac\ub418\uac8c \ub418\ub294\ub370, syslogd \ub294 \ud504\ub85c\uc138\uc2a4\uc758 \uc2dc\uc791\uc2dc\uc5d0 \/etc\/syslog.conf \ub97c \uc77d\uc5b4\ub4e4\uc778\ub2e4. \uc774 \ud30c\uc77c\uc5d0\ub294 \uac01\uac01\uc758 \uba54\uc2dc\uc9c0\ub97c \uc131\uaca9\uc5d0 \ub9de\ub3c4\ub85d \ubd84\ub958\ud574\uc11c \uc800\uc7a5\ud558\uae30 \uc704\ud55c \uaddc\uce59\uc774 \uc815\uc758\ub418\uc5b4 \uc788\ub2e4. \ub2e4\uc74c\uc740 syslog.conf \uc758 \ud30c\uc77c\ub0b4\uc6a9\uc911 \uc77c\ubd80\uc774\ub2e4.<br \/><br \/>\n<DIV><IMG style=\"CURSOR: pointer\" id=userImg8088597 onclick=\"popview(this, '90000003_000000000000000DFBAEC0B8')\" src=\"http:\/\/www.joinc.co.kr\/images\/articles\/19\/syslog_1.jpg\" onload='setTimeout(\"resizeImage(8088597)\",200)'> <br \/>\n<DIV>syslog.conf \ub294 2\uac1c\uc758 \ud544\ub4dc\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\ub2e4. \uccab\ubc88\uc9f8 \ud544\ub4dc\ub294 \"selector\" \ud544\ub4dc \ub77c\uace0 \ubd88\ub9ac\uc6b0\ub294\ub370, \uc774 \ud544\ub4dc\ub294 \ub2e4\uc2dc facilities \uc640 priorities \uc758 \uac12\uc73c\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\ub2e4. facilities \ub294 \ub85c\uadf8\uc758 \ubd84\ub958\ub97c \ub098\ud0c0\ub0b4\uace0 priorities \ub294 \uac01 \ubd84\ub958\uc5d0\uc11c\uc758 \ub85c\uadf8 \ub808\ubca8\uc744 \ub098\ud0c0\ub0b8\ub2e4. <br \/><br \/>\n<DIV>\uc77c\ubc18\uc801\uc778 \ud504\ub85c\uadf8\ub7a8\uc744 \uc791\uc131\ud560\ub54c\ub3c4 \ub85c\uadf8\uc815\ucc45\uc740 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. \ubcf4\ud1b5 \ub808\ubca8 1\uc740 \uac00\uc7a5 \ub0ae\uc740 \uc218\uc900\uc758 \ub514\ubc84\uadf8 \uba54\uc2dc\uc9c0 \ub808\ubca8 3\uc740 \ubaa8\ub4e0 \ub514\ubc84\uadf8 \uba54\uc2dc\uc9c0\ub97c \ubaa8\ub450 \ub0a8\uae30\ub294 \uc2dd\uc73c\ub85c \uc815\ud558\ub294\ub370 <STRONG>priorities<\/STRONG>\ub97c \uc774\uc6a9\ud574\uc11c \ubc1c\uc0dd\ub418\ub294 \ub85c\uadf8\uc5d0 \ub808\ubca8\uc744 \ubd80\uc5ec\ud574 \uc904 \uc218 \uc788\ub2e4.<br \/><br \/>\n<DIV>priority \ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ucee4\ub110\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\ub2e4.<br \/><PRE class=code>#define KERN_EMERG    \"&lt;0&gt;\"  \/* system is unusable               *\/ \n#define KERN_ALERT    \"&lt;1&gt;\"  \/* action must be taken immediately *\/ \n#define KERN_CRIT     \"&lt;2&gt;\"  \/* critical conditions              *\/ \n#define KERN_ERR      \"&lt;3&gt;\"  \/* error conditions                 *\/ \n#define KERN_WARNING  \"&lt;4&gt;\"  \/* warning conditions               *\/ \n#define KERN_NOTICE   \"&lt;5&gt;\"  \/* normal but significant condition *\/ \n#define KERN_INFO     \"&lt;6&gt;\"  \/* informational                    *\/ \n#define KERN_DEBUG    \"&lt;7&gt;\"  \/* debug-level messages             *\/ \n <\/PRE><br \/>\n<DIV>2\ubc88\uc9f8 \ud544\ub4dc\ub294 \"action\" \ud544\ub4dc\ub85c \uccab\ubc88\uc9f8\ud544\ub4dc\uc758 \ub8f0\uc5d0(facilities \uc640 priorities) \ubd80\ud569\ub418\ub294 \uba54\uc2dc\uc9c0\ub97c \uc5b4\ub5a0\ud55c \ud30c\uc77c\ub85c \ucc98\ub9ac\ud560\uac83\uc778\uc9c0\uc5d0 \ub300\ud55c \ud30c\uc77c\uc774\ub984\uc744 \uc815\uc758\ud574\ub450\uace0 \uc788\ub2e4. \uc720\ub2c9\uc2a4 \uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \/var\/log \ubc11\uc5d0 \uba54\uc2dc\uc9c0\ub97c \uc313\ub294\uac8c \uad00\ub840\uc774\ub2e4. \ub610\ud55c \ud30c\uc77c \ubfd0\ub9cc \uc544\ub2c8\ub77c <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=\ud30c\uc774\ud504\" target=\"_blank\" rel=\"noopener\">\ud30c\uc774\ud504<\/A>\ub97c \ud1b5\ud574\uc11c \ub2e4\ub978 \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc5d0 \ub85c\uadf8\uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uc11c \ucc98\ub9ac\ud558\uac70\ub098, \uc6d0\uaca9\uc9c0\uc5d0 \uc788\ub294 \ub2e4\ub978 \uc720\ub2c9\uc2a4 \uc2dc\uc2a4\ud15c\uc73c\ub85c\ub3c4 \ubcf4\ub0bc \uc218 \uc788\ub2e4.<br \/><br \/>\n<DIV>\uc774\ubc88\uc5d0 \uc6b0\ub9ac\ub294 syslog \ub97c \uc774\uc6a9 \uba54\ubaa8\ub9ac\uc0c1\ud0dc\ub97c \uccb4\ud06c\ud574\uc11c 1\ucd08 \uac04\uaca9\uc73c\ub85c \uc6d0\uaca9\uc9c0\uc758 \ud638\uc2a4\ud2b8\uc5d0 \ubcf4\ub0b4\ub294 \ud504\ub85c\uadf8\ub7a8\uc744 \ub9cc\ub4e4\uc5b4 \ubcf4\ub3c4\ub85d \ud558\uaca0\ub2e4.<br \/><br \/>\n<DIV>\n<H3>syslog \ud568\uc218 <\/H3>\n<DIV>\ub9ac\ub205\uc2a4\ub294 \ud45c\uc900\ub77c\uc774\ube0c\ub7ec\ub9ac \ud615\ud0dc\ub85c syslog \ud568\uc218\ub97c \uc81c\uacf5\ud55c\ub2e4. \uc774 \ud568\uc218\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ub418\uc5b4 \uc788\ub2e4.<br \/><PRE class=code>#include &lt;syslog.h&gt; \n \nvoid <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=syslog\" target=\"_blank\" rel=\"noopener\">syslog<\/A>(int priority, const char *format, ...); \n <\/PRE>\uc635\uc158\uc778 <STRONG>priority<\/STRONG>\ub294 syslog.h\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\ub294 priority \uc640 facility \uc758 \ube44\ud2b8\uc5f0\uc0b0\uc744 \ud1b5\ud574\uc11c \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<br \/><br \/>\n<DIV>\ub2e4\uc74c\uc740 \uc815\uc758\ub418\uc5b4 \uc788\ub294 priority \uac12\ub4e4\ub85c kernel\uc758 priority \ub4e4\uacfc \ub300\uc751\ub428\uc744 \uc54c \uc218 \uc788\ub2e4.<br \/><PRE class=code>#define LOG_EMERG   0   \/* system is unusable *\/ \n#define LOG_ALERT   1   \/* action must be taken immediately *\/ \n#define LOG_CRIT    2   \/* critical conditions *\/ \n#define LOG_ERR     3   \/* error conditions *\/ \n#define LOG_WARNING 4   \/* warning conditions *\/ \n#define LOG_NOTICE  5   \/* normal but significant condition *\/ \n#define LOG_INFO    6   \/* informational *\/ \n#define LOG_DEBUG   7   \/* debug-level messages *\/ \n <\/PRE><br \/>\n<DIV>\ub2e4\uc74c\uc740 \uc815\uc758\ub418\uc5b4 \uc788\ub294 facility \uac12\ub4e4\uc774\ub2e4. \uc8fc\uc694 \uc751\uc6a9\ubcc4\ub85c facility \uac00 \ub098\ub204\uc5b4\uc838 \uc788\uc74c\uc744 \uc54c \uc218 \uc788\ub2e4.<br \/><PRE class=code>#define LOG_KERN    (0&lt;&lt;3)  \/* kernel messages *\/ \n#define LOG_USER    (1&lt;&lt;3)  \/* random user-level messages *\/ \n#define LOG_MAIL    (2&lt;&lt;3)  \/* mail system *\/ \n#define LOG_DAEMON  (3&lt;&lt;3)  \/* system daemons *\/ \n#define LOG_AUTH    (4&lt;&lt;3)  \/* security\/authorization messages *\/ \n#define LOG_SYSLOG  (5&lt;&lt;3)  \/* messages generated internally by syslogd *\/ \n#define LOG_LPR     (6&lt;&lt;3)  \/* line printer subsystem *\/ \n#define LOG_NEWS    (7&lt;&lt;3)  \/* network news subsystem *\/ \n#define LOG_UUCP    (8&lt;&lt;3)  \/* UUCP subsystem *\/ \n#define LOG_CRON    (9&lt;&lt;3)  \/* clock daemon *\/ \n#define LOG_AUTHPRIV    (10&lt;&lt;3) \/* security\/authorization messages (private) *\/ \n#define LOG_FTP     (11&lt;&lt;3) \/* ftp daemon *\/ \n <\/PRE><br \/>\n<DIV>\uadf8\ub7ec\ub098 \uc704\uc758 facility \uac12\ub4e4\ub9cc\uc744 \uac00\uc9c0\uace0\ub294 log\ub97c \ubd84\ub958\ud558\ub294\ub370 \ucda9\ubd84\ud558\uc9c0 \uc54a\uc744 \uac83\uc774\ub2e4. \uc774\ub7f4\uacbd\uc6b0 \uc608\uc57d\ub41c facility \uac12\ub4e4\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<br \/><PRE class=code>#define LOG_LOCAL0  (16&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL1  (17&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL2  (18&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL3  (19&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL4  (20&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL5  (21&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL6  (22&lt;&lt;3) \/* reserved for local use *\/ \n#define LOG_LOCAL7  (23&lt;&lt;3) \/* reserved for local use *\/ \n <\/PRE><br \/>\n<DIV>\n<H3>\uc608\uc81c\ucf54\ub4dc \ub9cc\ub4e4\uae30 <\/H3>\n<DIV>\uac00\uc7a5 \uba3c\uc800 \uc6b0\ub9ac\ub294 syslog.conf \ub97c \uc218\uc815\ud574\uc11c \ud574\ub2f9 syslog \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\ub3c4\ub85d \ub8f0\uc744 \ub9cc\ub4e4\uc5b4\uc918\uc57c \ud55c\ub2e4.<br \/><br \/>\n<DIV>\uba54\ubaa8\ub9ac \uc6a9\ub7c9\uc744 \uc704\ud574\uc11c selector \uc758 \uc774\ub984\uc740 mem\uc73c\ub85c \uc815\ud558\uace0, \ubaa8\ub4e0 <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=priorities\" target=\"_blank\" rel=\"noopener\">priorities<\/A>(*)\uc5d0 \ub300\ud574\uc11c \ubc1b\uc544\ub4e4\uc774\uace0, \ubc1b\uc544\ub4e4\uc778 \uba54\uc2dc\uc9c0\ub294 \ud30c\uc77c\ub85c \uc313\ub3c4\ub85d \ud558\uaca0\ub2e4. <br \/><br \/>\n<DIV>\uadf8\ub7ec\uba74 \uba54\uc2dc\uc9c0 \uc804\uc1a1\ud504\ub85c\uadf8\ub7a8\uc774 \ud30c\uc77c\uc758 \ub0b4\uc6a9\uc744 \uc6d0\uaca9\uc9c0 \ud638\uc2a4\ud2b8\ub85c \uc804\uc1a1\ud558\ub294 \ubc29\ubc95\uc744 \ucde8\ud558\ub3c4\ub85d \ud55c\ub2e4. \uc774 \ud504\ub85c\uadf8\ub7a8\uc758 \uad6c\uc131\uc744 \uac04\ub2e8\ud788 \uadf8\ub824\ubcf4\uba74 \uc544\ub798\uc640 \uac19\uc744 \uac83\uc774\ub2e4.<br \/><br \/>\n<DIV><IMG style=\"CURSOR: pointer\" id=userImg340339 onclick=\"popview(this, '90000003_000000000000000DFBAEC0B8')\" src=\"http:\/\/www.joinc.co.kr\/images\/articles\/19\/syslog_2.jpg\" onload='setTimeout(\"resizeImage(340339)\",200)'> \n<DIV class=indent><br \/><\/DIV>memchecker \uc740 \/proc\/meminfo \ud30c\uc77c\uc744 \uc8fc\uae30\uc801\uc73c\ub85c(1\ucd08 \ub2e8\uc704)\ub85c \uc77d\uc5b4\ub4e4\uc5ec\uc11c \uc774 \uac12\uc744 syslog \ub97c \ud1b5\ud574\uc11c \/var\/log\/mem \uc774\ub77c\ub294 \ud30c\uc77c\ub85c \ubcf4\ub0b8\ub2e4. memsender \uc740 \/var\/log\/mem \ud30c\uc77c\uc744 \uac10\uc2dc\ud558\uace0 \uc788\ub2e4\uac00 \uba54\uc2dc\uc9c0\uac00 \ucd94\uac00\ub418\uba74, \ud574\ub2f9 \uba54\uc2dc\uc9c0\ub97c \uc18c\ucf13\uc744 \ud1b5\ud574\uc11c memrecver \ub85c \ubcf4\ub0b4\ub3c4\ub85d \ud55c\ub2e4. memrecver \uc740 printf \ub97c \uc774\uc6a9\ud574\uc11c \ud574\ub2f9 \uba54\uc2dc\uc9c0\ub97c \ud654\uba74\uc0c1\uc5d0 \ucd9c\ub825\ud55c\ub2e4. <br \/><br \/>\n<DIV>\uac00\uc7a5 \uba3c\uc800 \uc6b0\ub9ac\ub294 syslog.conf \ub97c \ud3b8\uc9d1\ud574\uc57c \ud558\ub294\ub370, \uae30\uc874\uc758 \ub85c\uadf8\ub4e4\uacfc \uacb9\uce58\uc9c0 \uc54a\ub3c4\ub85d facilities \uc640 priorities \ub97c \uc9c0\uc815\ud574\uc57c \ud55c\ub2e4.<br \/><br \/>\n<DIV>facilities \ub294 \ubbf8\ub9ac \uc815\uc758\ub418\uc5b4 \uc788\ub294\ub370, local0 \uc5d0\uc11c\ubd80\ud130 local7\uae4c\uc9c0\ub294 \uc0ac\uc6a9\uc790\uc815\uc758\ub97c \uc704\ud55c facilities \ub85c \ub0a8\uaca8\uc838 \uc788\ub2e4. \uc6b0\ub9ac\ub294 \uadf8\uc911 local0 \uc744 \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud558\uace0 \ubaa8\ub4e0 priorites \uc5d0 \ub300\ud574\uc11c(\uc989 priorites \uad6c\ubd84\uc5c6\uc774) \uba54\uc2dc\uc9c0\ub97c \ubc1b\uc544\ub4e4\uc774\ub3c4\ub85d \ud560\uac83\uc774\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \ub0b4\uc6a9\uc744 \uc800\uc7a5\ud558\uc790 <br \/><PRE class=code>local0.*            \/var\/log\/meminfo \n <\/PRE>\uc55e\uc73c\ub85c local0 \uc758 facilities \ub97c \uac00\uc9c0\ub294 \ubaa8\ub4e0 \uba54\uc2dc\uc9c0\ub294 \/var\/log\/meminfo \uc5d0 \uc313\uc774\uac8c \ub420\uac83\uc774\ub2e4. (linux\uc758 syslog.conf \ub294 \uc77c\ubc18\uc801\uc778 BSD\uc640\ub294 \uc870\uae08 \ub2e4\ub978\ub4ef \ud569\ub2c8\ub2e4. \ud604\uc7ac \uc0ac\uc6a9\uc911\uc778 Tru64\uc5d0\uc11c\ub294 local0.* \uc640 \uac19\uc774 \uc0ac\uc6a9\ud574\ub3c4 \ud2b9\ubcc4\ud55c \uc5d0\ub7ec\ub4f1\uc740 \uc5c6\uc9c0\ub9cc \uc544\ubb34\ub7f0 \ucd9c\ub825\uc774 \ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uad6c\uccb4\uc801\uc73c\ub85c local0.debug, local0.info \uc640 \uac19\uc774<br \/>\uc801\uc5b4\uc8fc\uc5b4\uc57c \ud558\ub354\uad70\uc694. \ub2e4\ub9cc facility \uc790\uccb4\ub098 message destination \uc5d0\ub294 * \uac00 \uc720\ud6a8\ud55c\ub4ef \ud569\ub2c8\ub2e4. - freesoft)<br \/><br \/>\n<DIV>syslog.conf \uc758 \ub0b4\uc6a9\uc744 syslogd \uac00 \uc778\uc2dd\ud558\ub3c4\ub85d \ud558\uae30 \uc704\ud574\uc11c syslogd \ub97c \ub2e4\uc2dc \uc2dc\uc791\ud558\ub3c4\ub85d \ud558\uc790.<br \/><br \/>\n<DIV><IMG style=\"CURSOR: pointer\" id=userImg8851130 onclick=\"popview(this, '90000003_000000000000000DFBAEC0B8')\" src=\"http:\/\/www.joinc.co.kr\/images\/articles\/19\/syslog_3.jpg\" onload='setTimeout(\"resizeImage(8851130)\",200)'> <br \/>\n<DIV>\uc774\uc81c syslog \ub97c \uc0ac\uc6a9\ud560\ub54c facilities \ub97c local0 \uc73c\ub85c \uc9c0\uc815\ud574\uc8fc\uba74, \/var\/log\/meminfo \ub85c \ub85c\uadf8\uba54\uc2dc\uc9c0\uac00 \uc313\uc774\uac8c \ub41c\ub2e4.<br \/><PRE class=code>#include &lt;syslog.h&gt; \n \nint <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=main\" target=\"_blank\" rel=\"noopener\">main<\/A>(int argc, char **argv) \n{ \n    syslog(LOG_INFO|LOG_LOCAL0, \"hello world\\n\"); \n} \n \n[root@localhost test]# cat \/var\/log\/meminfo \n <\/PRE><br \/>\n<DIV>\uc774\uc81c \ubcf8\uaca9\uc801\uc73c\ub85c \ud504\ub85c\uadf8\ub7a8\uc744 \uc791\uc131\ud574 \ubcf4\ub3c4\ub85d \ud558\uc790. \uccab\ubc88\uc9f8 \ud504\ub85c\uadf8\ub798\uc740 \"memcheker\" \ub85c \/proc\/meminfo \ub97c \uc77d\uc5b4\ub4e4\uc5ec\uc11c \ub9e4\ucd08\ub9c8\ub2e4 syslog \ub97c \uc774\uc6a9\ud574\uc11c \uba54\uc2dc\uc9c0\ub97c \ud30c\uc77c\ub85c \ubcf4\ub0b4\ub294 \ud504\ub85c\uadf8\ub7a8\uc774\ub2e4.<br \/><br \/>\n<DIV><STRONG>\uc608\uc81c : memcheker.c<\/STRONG><br \/><PRE class=code>#include &lt;syslog.h&gt; \n#include &lt;stdio.h&gt;  \n#include &lt;unistd.h&gt; \n \nstruct py_mem \n{ \n    char total[15]; \n    char used[15]; \n}; \n \nstruct sw_mem \n{ \n    char total[15]; \n    char used[15]; \n}; \n \nchar field_list[9][20]; \nvoid <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=get_meminfo\" target=\"_blank\" rel=\"noopener\">get_meminfo<\/A>(char *buf, int number); \n     \nint <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=main\" target=\"_blank\" rel=\"noopener\">main<\/A>() \n{    \n    FILE *fp; \n    char buf_in[80]; \n    int  line_num = 0;  \n \n    struct py_mem real_mem; \n    struct sw_mem vir_mem; \n     \n    char mem_info[255]; \n \n    <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=for\" target=\"_blank\" rel=\"noopener\">for<\/A>(;;) \n    { \n        line_num = 0; \n        fp = fopen(\"\/proc\/meminfo\", \"r\"); \n        if (fp == NULL) \n        { \n            <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=perror\" target=\"_blank\" rel=\"noopener\">perror<\/A>(\"file open error : \"); \n            <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=exit\" target=\"_blank\" rel=\"noopener\">exit<\/A>(0); \n        } \n        memset(buf_in, '\\0', 80); \n        while(fgets(buf_in, 80, fp) != NULL) \n        { \n            if (line_num == 0) \n            { \n                line_num++; \n                continue; \n            } \n            else if (line_num == 1) \n            { \n                <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=buf_in[strlen\" target=\"_blank\" rel=\"noopener\">buf_in[strlen<\/A>(buf_in) -1] = '\\0'; \n                <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=get_meminfo\" target=\"_blank\" rel=\"noopener\">get_meminfo<\/A>(buf_in,7); \n                sprintf(mem_info, \"%s,%s,%s,%s,%s,%s\", \n                                field_list[1], field_list[2], \n                                field_list[3], field_list[4], \n                                field_list[5], field_list[6]); \n            } \n            else if (line_num == 2) \n            { \n                <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=get_meminfo\" target=\"_blank\" rel=\"noopener\">get_meminfo<\/A>(buf_in,2); \n                sprintf(mem_info, \"%s,%s,%s\\n\", mem_info, field_list[1], field_list[2]); \n            } \n            if (line_num == 3) \n            { \n                break; \n            } \n \n            memset(buf_in, '\\0', 80); \n            line_num++; \n        } \n        <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=fclose\" target=\"_blank\" rel=\"noopener\">fclose<\/A>(fp); \n        syslog(LOG_INFO|LOG_LOCAL0, mem_info); \n        <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=sleep\" target=\"_blank\" rel=\"noopener\">sleep<\/A>(1); \n    } \n} \n \nvoid <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=get_meminfo\" target=\"_blank\" rel=\"noopener\">get_meminfo<\/A>(char *buf, int number) \n{ \n    char field_buf[20]; \n    int i; \n    int j; \n    int field = 0; \n    struct py_mem buf_mem; \n \n    for (i = 0; i &lt; 7; i++) \n        memset(field_list[i], '\\0', 20); \n \n    for (i = 0, j=0; i &lt; <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=strlen\" target=\"_blank\" rel=\"noopener\">strlen<\/A>(buf); i++) \n    { \n        if (buf[i] == ' ') \n        { \n            if (buf[i+1] == ' ') \n            { \n                continue; \n            } \n            else \n            { \n                if (field == number) \n                    return; \n                field++; \n                j = 0; \n            } \n        } \n        else \n        { \n            field_list[field][j] = buf[i]; \n            j++; \n        } \n    } \n} \n <\/PRE>\uc704\uc758 \ud504\ub85c\uadf8\ub7a8\uc740 \/proc\/meminfo \uc744 \uc5f4\uc5b4\uc11c 2\ubc88\uc9f8 \uc640 3\ubc88\uc9f8 \ub77c\uc778\uc758 \uc815\ubcf4\ub97c \uc77d\uc5b4\ub4e4\uc778\ub2e4. <br \/><IMG style=\"CURSOR: pointer\" id=userImg4437855 onclick=\"popview(this, '90000003_000000000000000DFBAEC0B8')\" src=\"http:\/\/www.joinc.co.kr\/images\/articles\/19\/syslog_4.jpg\" onload='setTimeout(\"resizeImage(4437855)\",200)'> <br \/>\n<DIV>\uadf8\ub2e4\uc74c <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=get_meminfo\" target=\"_blank\" rel=\"noopener\">get_meminfo<\/A>() \ud568\uc218\ub97c \uc774\uc6a9\ud574\uc11c, \uc6b0\ub9ac\uac00 \ud544\uc694\ub85c\ud558\ub294 \uc815\ubcf4\ub97c \uac00\uc838\uc628\ub2e4. \uac00\uc838\uc628 \uc815\ubcf4\ub294 csv \uc2a4\ud0c0\uc77c\ub85c \ubcc0\uacbd\uc2dc\ud0a8\ub2e4\uc74c, syslog \ub97c \uc774\uc6a9\ud574\uc11c \ud30c\uc77c\uc5d0 \uc4f0\ub3c4\ub85d \ud55c\ub2e4.<br \/><br \/>\n<DIV>\ucef4\ud30c\uc77c\ud6c4 \uc2e4\uc81c\ub85c \/var\/log\/meminfo \uc5d0 \uc801\uc7ac\ub418\ub294\uc9c0 <a class=\"con_link\" href=\"http:\/\/www.joinc.co.kr\/modules\/moniwiki\/wiki.php\/manSearch?google=none&amp;name=tail\" target=\"_blank\" rel=\"noopener\">tail<\/A>(1) \uc744 \uc774\uc6a9\ud574\uc11c \ud655\uc778\ud574 \ubcf4\ub3c4\ub85d \ud558\uc790.<br \/><br \/>\n<DIV><IMG style=\"CURSOR: pointer\" id=userImg9480522 onclick=\"popview(this, '90000003_000000000000000DFBAEC0B8')\" src=\"http:\/\/www.joinc.co.kr\/images\/articles\/19\/syslog_5.jpg\" onload='setTimeout(\"resizeImage(9480522)\",200)'> <br \/>\n<DIV>\uc544\ub9c8 1\ucd08\ub9c8\ub2e4 \ub77c\uc778\uc774 \uac31\uc2e0\ub418\ub294\uac78 \ubcfc\uc218 \uc788\uc744\uac83\uc774\ub2e4. \uae00\uc774 \uc0c1\ub2f9\ud788 \uae38\uc5b4\uc9c4 \uad00\uacc4\ub85c \uc624\ub298\uc740 memchecker.c \uae4c\uc9c0\ub9cc \ud558\uace0, \ub098\uba38\uc9c0 \ud504\ub85c\uadf8\ub7a8\uc778 memrecver \uacfc memsender \uc740 \ub2e4\uc74c \ubb38\uc11c\uc5d0\uc11c \ub2e4\ub8e8\ub3c4\ub85d \ud558\uaca0\ub2e4.<br \/><br \/>\n<DIV>\n<H3>syslog\ub97c \ub2e4\ub978 \ud638\uc2a4\ud2b8\ub85c \ubcf4\ub0b4\uae30 <\/H3>\n<DIV>\uc704\uc5d0\uc11c \uc5b8\uae09\ub418\uc5c8\ub2e4 \uc2dc\ud53c, \ub85c\uadf8\ub97c \ud30c\uc77c \ubfd0\ub9cc \uc544\ub2c8\ub77c \ub2e4\ub978 \ud638\uc2a4\ud2b8\ub85c \ubcf4\ub0bc \uc218\ub3c4 \uc788\ub2e4. @\ub4a4\uc5d0 \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0bc \ud638\uc2a4\ud2b8\uba85\uc744 \uc801\uc5b4\uc8fc\uae30\ub9cc \ud558\uba74 \ub41c\ub2e4. \ub9cc\uc57d <STRONG>local0<\/STRONG>\uc758 \ubaa8\ub4e0 \ub808\ubca8\uc758 syslog\ub97c syslog.joinc.co.kr \ub85c \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uace0 \uc2f6\ub2e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \uc124\uc815\ud558\uba74 \ub41c\ub2e4.<br \/><PRE class=code>local0.*            @syslog.joinc.co.kr \n <\/PRE><br \/>\n<DIV>\n<H3>syslog \uba54\uc2dc\uc9c0\ub97c \ub2e4\ub978 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c \ubcf4\ub0b4\uae30 <\/H3>\n<DIV>\ub85c\uadf8 \uba54\uc2dc\uc9c0\ub97c \ubd84\uc11d\ud574\uc11c \ub2e4\ub978 \ud504\ub85c\uc138\uc2a4\ub97c \ud0c0\uac8c \ud558\uace0 \uc2f6\uc744\ub54c\uac00 \uc788\uc744 \uac83\uc774\ub2e4. \ub85c\uadf8\uba54\uc2dc\uc9c0\ub97c SMS - \ub2e8\ubb38\uba54\uc2dc\uc9c0 - \ub85c \ubcf4\ub0b4\ub294 \uac83\uacfc \uac19\uc740\uac8c \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uac00 \ub420 \uac83\uc774\ub2e4. \ud639\uc740 \uba54\uc77c\ub85c \ubcf4\ub0b4\uace0 \uc2f6\uc740 \uacbd\uc6b0\ub3c4 \uc0dd\uae38 \uac83\uc774\ub2e4. \uc774\uacbd\uc6b0\ub97c \uc704\ud574\uc11c syslog \uba54\uc2dc\uc9c0\ub97c \ub2e4\ub978 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c \ud30c\uc774\ud504\ub97c \ud1b5\ud574\uc11c \ub118\uae30\uba74 \ub41c\ub2e4. <STRONG>|<\/STRONG>\ub4a4\uc5d0 \ud504\ub85c\uadf8\ub7a8\uba85\uc744 \uc801\uc5b4\uc8fc\uae30\ub9cc \ud558\uba74 \ub41c\ub2e4. \ub9cc\uc57d \ub85c\uadf8 \uba54\uc2dc\uc9c0\ub97c mymail \uc774\ub77c\ub294 \ud504\ub85c\uadf8\ub7a8\uc744 \ud1b5\ud574\uc11c, \uba54\uc77c\ub85c \ubcf4\ub0b4\uae38 \uc6d0\ud55c\ub2e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 syslog.conf \ub97c \uc218\uc815\ud558\uba74 \ub41c\ub2e4.<br \/><PRE class=code>local0.*       |\/usr\/local\/mymail \n<\/PRE><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV>\n","protected":false},"excerpt":{"rendered":"<p>\uc18c\uac1c syslog\ub294 Unix \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ub85c\uadf8\uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574\uc11c \uc81c\uacf5\ud558\ub294 (\ub9e4\uc6b0 \uc624\ub798\ub41c)\ud45c\uc900 \uc778\ud130\ud398\uc774\uc2a4 \uc911 \ud558\ub098\ub2e4. \uc774\uac83\uc744 \uc774\uc6a9\ud558\uba74, \uc2dc\uc2a4\ud15c\uc774\ub098 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uac01\uc885 \uba54\uc2dc\uc9c0\ub97c \uccb4\uacc4\uc801\uc73c\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\ub2e4. \ub610\ud55c \ud45c\uc900\uc774\uae30 \ub54c\ubb38\uc5d0, \uc6b4\uc601\uccb4\uc81c\uc5d0 \uad00\uacc4\uc5c6\uc774 \ub3d9\uc77c\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\ub294 \uc7a5\uc810\ub3c4 \uc81c\uacf5\ud55c\ub2e4. \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uad73\uc774 \uc774\ub7ec\ud55c \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\ub294 \ub8e8\ud2f4\uc744 \ub9cc\ub4e4\uc9c0 \uc54a\uace0, syslog\ub97c \uc0ac\uc6a9\ud558\ub294\ub370\uc5d0\ub294 \uba87\uac00\uc9c0 \uc774\uc720\uac00 \uc788\ub2e4. \uc77c\ub2e8 \uba54\uc2dc\uc9c0\ucc98\ub9ac\ub97c \uc704\ud55c \ub8e8\ud2f4\uc5d0 \ud2b9\ubcc4\ud788 \uc2e0\uacbd\uc4f0\uc9c0 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[19],"tags":[],"class_list":["post-102","post","type-post","status-publish","format-standard","hentry","category-development_lib"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=102"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/102\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}