콤텍시스템 서비스 지원
메뉴
목표 : 시스템에서 발생되는 각종 Log 데이터를 매일 AWS S3에 자동으로 백업
적용 기술 : AWS S3, Logrotate, Crontab, Shell Script
vi /etc/logrotate.d/rsyslog
/var/log/syslog { su root root rotate 31 daily missingok notifempty nocompress delaycompress dateext dateyesterday postrotate /usr/lib/rsyslog/rsyslog-rotate endscript } /var/log/mail.info /var/log/mail.warn /var/log/mail.err /var/log/mail.log /var/log/daemon.log /var/log/kern.log /var/log/auth.log /var/log/user.log /var/log/lpr.log /var/log/cron.log /var/log/debug /var/log/messages { su root root rotate 31 daily missingok notifempty nocompress dateext dateyesterday delaycompress sharedscripts postrotate /usr/lib/rsyslog/rsyslog-rotate endscript }
CAT 명령으로 Backup.sh 파일을 생성합니다.cat > backup.sh
#!/bin/bash HOSTNAME=`hostname -f` DAY=$(date +"%Y%m%d" -d '1 days ago') cd ~ mkdir $DAY cp /var/log/auth.log-$DAY ./$DAY cp /var/log/syslog-$DAY ./$DAY cp /var/log/kern.log-$DAY ./$DAY cp /var/log/messages-$DAY ./$DAY tar zcvf $DAY.tar.gz ./$DAY rm -R ./$DAY aws s3 mv $DAY.tar.gz s3://Comtec-log-archive/$(date +"%Y" -d '1 days ago')/$HOSTNAME/$(date +"%m" -d '1 days ago')month/ --storage-class STANDARD_IA
실행 권한 할당chmod 755 backup.sh
매일 00시 00분에 실행
# m h dom mon dow user command0 0 * * * root logrotate -f /etc/logrotate.d/rsyslog0 0 * * * root sh backup.sh