LinuxÖÐʹÓÃSystemdºÍCrontabʵÏÖÈÕÖ¾ÂÖתµÄÒªÁìºÍ°ì·¨
ÎÊÌ⣺LinuxÖÐʹÓÃSystemdºÍCrontabʵÏÖÈÕÖ¾ÂÖתµÄÒªÁìºÍ°ì·¨
ÕýÎÄ£º
ÔÚLinuxϵͳÖУ¬ÈÕÖ¾Îļþ¼Í¼ÁËϵͳÖб¬·¢µÄÖ÷ÒªÊÂÎñºÍ¹ýʧÐÅÏ¢£¬Ëæ×Åʱ¼äµÄÍÆÒÆ£¬ÈÕÖ¾Îļþ»áÔ½À´Ô½´ó£¬²»µ«Õ¼ÓÃÓ²Å̿ռ䣬²¢ÇÒÉó²éÈÕ־ʱҲ±äµÃÄÑÌ⡣ΪÏàʶ¾öÕâ¸öÎÊÌ⣬ÎÒÃÇ¿ÉÒÔʹÓÃSystemdºÍCrontabÀ´ÊµÏÖÈÕÖ¾ÂÖת£¬¼´°´ÆÚ½«ÈÕÖ¾Îļþ¾ÙÐб¸·ÝºÍ¹éµµ¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃSystemdºÍCrontabÀ´ÊµÏÖÈÕÖ¾ÂÖתµÄÒªÁìºÍ°ì·¨£¬²¢ÌṩÏêϸµÄ´úÂëʾÀý¡£
Ò»¡¢Ê¹ÓÃSystemdʵÏÖÈÕÖ¾ÂÖת
½¨ÉèÒ»¸öÈÕÖ¾ÂÖתÉèÖÃÎļþ
Ê×ÏÈ£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öSystemdµÄÈÕÖ¾ÂÖתÉèÖÃÎļþ¡£ÔÚÖÕ¶ËÖÐÊäÈëÒÔÏÂÏÂÁÉèÒ»¸öÃûΪ”myapp-logrotate.conf”µÄÉèÖÃÎļþ£º
sudo nano /etc/systemd/journald.conf.d/myapp-logrotate.conf
µÇ¼ºó¸´ÖÆ
ÔÚÉèÖÃÎļþÖÐÌí¼ÓÒÔÏÂÄÚÈÝ£º
[Journal] Storage=persistent MaxFileSec=1month
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬”Storage”²ÎÊýÖ¸¶¨ÁËÈÕÖ¾ÎļþµÄ´æ´¢·½·¨£¬”persistent”ÌåÏÖ½«ÈÕÖ¾Îļþ³¤ÆÚÉúÑÄÔÚ´ÅÅÌÖС£”MaxFileSec”²ÎÊýÖ¸¶¨ÁËÈÕÖ¾ÎļþµÄ±£´æʱ¼ä£¬ÕâÀïÉèÖÃΪ1¸öÔ¡£
ÉúÑIJ¢Í˳öÉèÖÃÎļþ¡£
ÖØÆôSystemdÈÕ־ЧÀÍ
ÔÚÖÕ¶ËÖÐÊäÈëÒÔÏÂÏÂÁîÖØÆôSystemdÈÕ־ЧÀÍ£º
sudo systemctl restart systemd-journald.service
µÇ¼ºó¸´ÖÆ
ÏÖÔÚ£¬Systemd»áƾ֤ÉèÖÃÎļþÖеÄÉèÖÃÀ´ÂÖתÈÕÖ¾Îļþ¡£
¶þ¡¢Ê¹ÓÃCrontabʵÏÖÈÕÖ¾ÂÖת
½¨ÉèÒ»¸öÈÕÖ¾ÂÖת¾ç±¾
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öCrontabµÄÈÕÖ¾ÂÖת¾ç±¾¡£ÔÚÖÕ¶ËÖÐÊäÈëÒÔÏÂÏÂÁÉèÒ»¸öÃûΪ”logrotate-script.sh”µÄ¾ç±¾Îļþ£º
sudo nano /usr/local/bin/logrotate-script.sh
µÇ¼ºó¸´ÖÆ
½«ÒÔÏ´úÂëÕ³Ìùµ½¾ç±¾ÎļþÖУº
#!/bin/bash # ÈÕÖ¾Îļþ·¾¶ logfile="/var/log/myapp/myapp.log" # ¹éµµÄ¿Â¼Â·¾¶ archive_dir="/var/log/myapp/archive" # ¹éµµÎļþÃû archive_file="myapp_$(date +'%Y%m%d%H%M%S').log" # ѹËõ¹éµµÎļþ tar -czvf $archive_dir/$archive_file $logfile # Çå¿ÕÈÕÖ¾Îļþ > $logfile
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳ö¾ç±¾Îļþ¡£
ÊÚÓè¾ç±¾Ö´ÐÐȨÏÞ
ÔÚÖÕ¶ËÖÐÊäÈëÒÔÏÂÏÂÁÊÚÓè¾ç±¾Ö´ÐÐȨÏÞ£º
sudo chmod +x /usr/local/bin/logrotate-script.sh
µÇ¼ºó¸´ÖÆ
½¨ÉèCrontabʹÃü
×îºó£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öCrontabʹÃüÀ´°´ÆÚÖ´ÐÐÈÕÖ¾ÂÖת¾ç±¾¡£ÔÚÖÕ¶ËÖÐÊäÈëÒÔÏÂÏÂÁî±à¼Crontab£º
crontab -e
µÇ¼ºó¸´ÖÆ
ÔÚCrontabÎļþÖÐÌí¼ÓÒÔÏÂÄÚÈÝ£º
# ÌìÌìµÄÆÆÏþ0µãÖ´ÐÐÈÕÖ¾ÂÖת¾ç±¾ 0 0 * * * /usr/local/bin/logrotate-script.sh
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳öCrontabÎļþ¡£
ÏÖÔÚ£¬Crontab»áÔÚÌìÌìµÄÆÆÏþ0µãÖ´ÐÐÈÕÖ¾ÂÖת¾ç±¾£¬½«ÈÕÖ¾Îļþ¾ÙÐй鵵ºÍÇå¿Õ¡£
×ܽ᣺
ͨ¹ýÒÔÉϵÄÒªÁìºÍ°ì·¨£¬ÎÒÃÇ¿ÉÒÔʹÓÃSystemdºÍCrontabÀ´ÊµÏÖÈÕÖ¾ÂÖת¡£Ê¹ÓÃSystemd¿ÉÒÔÉèÖÃÈÕÖ¾ÎļþµÄ±£´æʱ¼ä£¬Ê¹ÓÃCrontabÔò¿ÉÒÔ°´ÆÚÖ´ÐÐÈÕÖ¾ÂÖת¾ç±¾£¬½«ÈÕÖ¾Îļþ¾ÙÐй鵵ºÍÇå¿Õ¡£Í¨¹ýºÏÀíµÄÉèÖúÍʹÓã¬ÎÒÃÇ¿ÉÒÔÓÐÓõØÖÎÀíºÍά»¤ÏµÍ³µÄÈÕÖ¾Îļþ¡£
ÒÔÉϾÍÊÇLinuxÖÐʹÓÃSystemdºÍCrontabʵÏÖÈÕÖ¾ÂÖתµÄÒªÁìºÍ°ì·¨µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡