์ ๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธ ์ ๋ฐ์ ์ธ ์์คํ
๋ณด์์์ ๊ฐ์ฅ ์ค์ํ ์ธก๋ฉด ์ค ํ๋์
๋๋ค. ์ด์ ์ฒด์ ์ ํจํค์ง๋ฅผ ์ต์ ๋ณด์ ํจ์น๋ก ์
๋ฐ์ดํธํ์ง ์์ผ๋ฉด ์์คํ
์ด ๊ณต๊ฒฉ์ ์ทจ์ฝํด์ง๋๋ค. ์ฌ๊ธฐ์ ์๋ ์
๋ฐ์ดํธ๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
#1. ์ค์น ๋ฐ ์๋น์ค ํ์ฑํ ๋ฐ ์คํ
$ sudo yum install yum-cron
$ sudo systemctl enable yum-cron
$ sudo systemctl start yum-cron
$ systemctl status yum-cron
# โ yum-cron.service - Run automatic yum updates as a cron job
# Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
# Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
# Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
# Main PID: 2713 (code=exited, status=0/SUCCESS)
# CGroup: /system.slice/yum-cron.service
#2. yum-cron ๊ตฌ์ฑ
์ฒซ ๋ฒ์งธ ์น์
์ธ [commands]์์๋ ์
๋ฐ์ดํธํ ํจํค์ง ์ ํ์ ์ ์ํ๊ณ , ๋ฉ์์ง ๋ฐ ๋ค์ด๋ก๋๋ฅผ ํ์ฑํํ๋ฉฐ, ์
๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ ์๋์ผ๋ก ์ ์ฉํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก update_cmd๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์
๋ฐ์ดํธํ๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค. ์๋ ๋ฌด์ธ ์
๋ฐ์ดํธ๋ฅผ ์ค์ ํ๋ ค๋ฉด ๊ฐ์ ๋ณด์์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ฐ์ ๋ณด์ ๋ฌธ์ ๋ง ํด๊ฒฐํ๋ ํจํค์ง๋ฅผ ์
๋ฐ์ดํธํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
๋ค์ ์์์๋ apply_updates๋ฅผ yes๋ก ์ค์ ํ์ฌ update_cmd๋ฅผ ๋ณด์์ผ๋ก ๋ณ๊ฒฝํ๊ณ ๋ฌด์ธ ์
๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ์ต๋๋ค.
# /etc/yum/yum-cron-hourly.conf
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360
emitters ์น์
์์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. stdout ๋ฐ e-๋ฉ์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ค๋ฉด extect_via์ ๊ฐ์ stdio, e-๋ฉ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
# /etc/yum/yum-cron-hourly.conf
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80
์ ์ ๋ฉ์ผ(email) ์น์
์์ ๋ฐ์ ์ ๋ฐ ์์ ์ ์ ์ ๋ฉ์ผ ์ฃผ์๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. mailx ๋๋ postfix์ ๊ฐ์ด ์์คํ
์ ์ ์ ๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋ ๋๊ตฌ๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
# /etc/yum/yum-cron-hourly.conf
[email]
email_from = root@centos.host
email_to = me@example.com
email_host = localhost
base ์น์
์์ yum.conf ํ์ผ์ ์ ์๋ ์ค์ ์ ์ฌ์ ์ํ ์ ์์ต๋๋ค. ํน์ ํจํค์ง๋ฅผ ์
๋ฐ์ดํธ์์ ์ ์ธํ๋ ค๋ฉด ์ ์ธ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์ ์์ ์์๋ [mongodb] ํจํค์ง๋ฅผ ์ ์ธํฉ๋๋ค.
# /etc/yum/yum-cron-hourly.conf
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*
#3. ๋ก๊ทธ ํ์ธ
grep๋ฅผ ์ฌ์ฉํ์ฌ yum๊ณผ ์ฐ๊ฒฐ๋ cron ์์
์ด ์คํ๋์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
sudo grep yum /var/log/cron
# May 4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
# May 4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
# May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
# May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cr
yum ์
๋ฐ์ดํธ ๋ด์ญ์ /var/log/yum ํ์ผ์ ๊ธฐ๋ก๋ฉ๋๋ค. tail ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ต์ ์
๋ฐ์ดํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
sudo tail -f /var/log/yum.log
# May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
# May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
# May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64
์ถ์ฒ