이유없이 디스크 유틸이 튀거나 '/var' 경로가 Full 이 자주 되는 경우, 디스크 성능에 영향을 받게 되는 경우 등
Cron 에 의한 스케쥴이 상당 수 영향을 미칠 수 있으므로 꼭 확인하세요.
리눅스 설치 시 기본적으로 등록되는 두 가지 크론 스케쥴이 있을 수 있으니 꼭 확인하시길!!
Default Cron Jobs (CentOS 6.X 버전의 경우)
OS 설정에 따라 다르겠지만, CentOS를 설치하게 되면 다음과 같이 배치 작업이 등록이 되어 있습니다.
$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
.. 중 략 ..
#period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly $ cat /etc/crontab
.. 중 략 ..
# For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
위처럼 'anacrontab, crontab' 에 의해서 시스템에 기본 적용된 스크립트들에 의한 스케쥴링 작업이 진행되게 되며,
이에 따라 '/etc/cron.XXXXX' 의 경로에 있는 내용이 동작하게 됩니다.
해당 스케쥴에 따라서 기본 스케쥴링으로 아래의 두 항목이 동작하게 되는데, 이 때 데이터베이스의 트랜잭션 로그
혹은 데이터 파일 쪽 디스크에 영향을 줄 수 있습니다.
/etc/cron.XXXXX/mlocate.cron /etc/cron.XXXXX/makewhatis.cron
1. mlocate
- 정의 : 파일 검색을 빠르게 검색하기 위해, 파일에 대한 색인 정보를 모아 데이터베이스를 만드는 역할
mloate.cron에 포함된 내용은 아래와 같습니다.
$ cat /etc/cron.daily/mlocate.cron
#!/bin/sh
nodevs=$(< /proc/filesystems awk '$1 == "nodev" && $2 != "zfs" { print $2 }')
renice +19 -p $$ >/dev/null 2>&1
ionice -c2 -n7 -p $$ >/dev/null 2>&1
/usr/bin/updatedb -f "$nodevs"
또한 이와 관련된 설정은 /etc/updatedb.conf 에 위치합니다.
$ cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs ...... sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /net /sfs /tmp ...... /var/tmp"
각 항목을 확인해보면
* PRUNE_BIND_MOUNTS : '0, no, 1, yes' 중에서 사용가능하며 0=no, 1=yes 의 의미이기도함. 마운트된 경로를 탐색할 것인지 설정
* PRUNEFS : 'updatedb' 가 탐색하지 않을 파일시스템 타입을 정의
* PRUNENAMES : 'updatedb' 가 탐색하지 않을 파일명(확장자로도 이해할 수 있음)을 정의
* PRUNEPATHS : 'updatedb' 가 탐색하지 않을 경로명을 정의
2. makewhatis
- 정의 : man에 관련된 내용을 신규 생성 또는 업데이트하며, '/var/cache/man/whatis' 파일이 없거나 '/usr/sbin/makewhatis' 파일이
더 최신이라면 전체를 새로작성하며, 그외의 경우 증분으로 작성합니다.
## 일단위 크론잡 $ cat /etc/cron.daily/makewhatis.cron #!/bin/bash LOCKFILE=/var/lock/makewhatis.lock .. 중략 .. if [ ! -f /var/cache/man/whatis ] || find /usr/sbin/makewhatis -newer /var/cache/man/whatis |grep -q . then makewhatis -w else makewhatis -U -w fi exit 0
'Linux > Tip & Tech' 카테고리의 다른 글
iSCSI설정하기 (0) | 2016.07.11 |
---|---|
가상화환경(xen, VMware 같은) 에서 DHCP 이용시 resolv.conf 초기화 방지 (0) | 2016.04.26 |
보안성을 강화하기 위한 Linux Kernel Parameter 를 알아보자. (0) | 2014.08.13 |
Linux NIC 정보 초기화 및 강제설정 (0) | 2014.06.13 |
CentOS YUM repository 서버로 만들기 (0) | 2014.04.11 |