*. 로그 파일 정리 - 일정 기간이 지난 로그를 다른 곳으로 옮긴다. (대용량 DAS 같은 곳으로)
vi /usr/local/mv.sh
dir="$2" # Include a / at the end to indicate directory (not filename)
tmp="$2"; tmp="${tmp: -1}"
[ "$tmp" != "/" ] && dir="$(dirname "$2")"
[ -a "$dir" ] ||
mkdir -p "$dir" &&
mv "$@"
chmod 755 /usr/local/mv.sh
# /var/log 하위 디렉토리 모든 경로에서 15일이 지난 파일 모두 /hdd/log 로 디렉토리 구조 그대로 옮겨라.
find /var/log/ -mtime +15 -type f -ls -exec /usr/local/mv.sh {} /hdd/log{} \;
크론탭에 등록하면 매일 로그 파일을 자동으로 이동 시킨다.
crontab -e
# 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
#로그 파일 15일이 지나면 다른 곳으로 이동
00 05 * * * find /var/log/ -mtime +15 -type f -ls -exec /usr/local/mv.sh {} /hdd/log{} \;
※ 위 방법대로 했을 때 크론 탭이 정상적으로 실행 안되는 경우 - 실행 명령어(*.sh 등) 내부에 필요한 경로들은 상대 경로를 쓰면 제대로 실행이 안된다. 무조건 절대경로를 써서 작성해 줘야 한다. 분명 개별 *.sh 는 실행이 잘 되는데, 왜 crontab 에서 실행이 안될까 하고 한참 헤맸다.
*. 캐시 메모리 비우기
top
top - 04:26:12 up 1 day, 4:42, 2 users, load average: 0.60, 0.51, 0.46
Tasks: 342 total, 1 running, 341 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.0 us, 10.0 sy, 0.0 ni, 83.3 id, 0.0 wa, 1.0 hi, 0.7 si, 0.0 st
MiB Mem : 15547.3 total, 9374.7 free, 5930.0 used, 652.8 buff/cache
MiB Swap: 8192.0 total, 8191.0 free, 1.0 used. 9617.3 avail Mem
buff/cache 캐시 메모리가 너무 많이 용량을 차지하고 있는 경우에 다음 명령어로 비울 수 있다.
sync 는 메모리의 데이터를 디스크로 옮겨주는데, sync 를 먼저 안하면 데이터가 소실될 수 있다.
# 1 - Page Cache 비우기
sync && echo 1 > /proc/sys/vm/drop_caches
# 2 - dentries, inodes 비우기
sync && echo 2 > /proc/sys/vm/drop_caches
# 3 - 모두 비우기
sync && echo 3 > /proc/sys/vm/drop_caches
crontab 에 등록하고 주기적으로 비워줄수도 있다.
vi /etc/crontab
0 6 * * 0 sync && echo 3 > /proc/sys/vm/drop_caches # 매일 오전 6시에 캐시 비우기
참고 주소 : https://extrememanual.net/29711
백그라운드 실행 - 터미널을 종료하면 중단된다.
명령어 &
nohup 백그라운드 실행 - 터미널을 종료해도 실행된다.
nohup 명령어 &
공감과 댓글 한번 부탁 드립니다.
유용했다면 비밀 댓글로 커피 한잔 사주시면 감사히 먹겠습니다 :)
'Linux' 카테고리의 다른 글
아마존 ec2 redhat 9 서버에서 명령어가 없는 경우 (0) | 2023.03.02 |
---|---|
Centos S9 - 무료 SSL 인증서 - Letsencrypt 발급 받기 (0) | 2023.02.27 |
Linux Centos Stream 9 - Samba - 윈도우 파일공유 (0) | 2023.02.24 |
Jenkins - Git 연동하기 (Public Key 공개키 인증) (0) | 2023.02.18 |
Linux CentOS Stream 9 - Git Install 설치 (0) | 2023.02.18 |