작업하다가..
그냥 정리 해본다..
요즘 블로그 관리가 너무 소홀하기도 하고 ;;
==============================================================
1. ftp 연결을 하고 파일을 복사할 스크립트를 만든다..
#!/bin/sh
SERVER_ADDRESS=xxx.xxx.xxx.xxx # 백업할 서버의 IP
USER_NAME=id # ftp 접속을 위한 계정
PASSWD="패스워드" # ftp 접속을 위한 비밀번호
LOG_DIR=/var/logs # 현재 서버의 log 파일 경로
LOG_FILE=access.log # log 파일의 원래 이름
OLD_LOG_FILE=access.log.$HOSTNAME.$(date +%Y%m%d) # 백업을 위해 이름 변경
REMOTE_DIR=/log/backup # 백업할 서버의 경로
cd $LOG_DIR
mv $LOG_FILE $OLD_LOG_FILE
#/www/bin/apachectl graceful
gzip $OLD_LOG_FILE
ftp -n $SERVER_ADDRESS << EOF
user $USER_NAME $PASSWD
cd $REMOTE_DIR
bin
put $OLD_LOG_FILE.gz
quit
EOF
rm -f $OLD_LOG_FILE.gz
2. crontab 에 등록한다.
#crontab -e
58 21 * * * rdate -s time.bora.net # 서버의 시간 동기화
58 23 * * * /abc/www/bin/log.sh # 생성한 스크립트 파일의 경로
3. crond 데몬에 관하여.. (원문 : http://blog.naver.com/nondureng1/10015246390)
crond 데몬 /etc/rec.d/init.d/crond 스크립트에 의해 시작, 종료,재시작될 수 있다
기본 명령의 위치 :/user/bin/crontab =>아무곳에서도 실행 가능 함 등록,수정, 보기
사용형식
crontab [ -u 사용자 id] 파일
crontab [-u 사용자 id] { -l | -r | -e}
$ crontab -l no crontab for truefeel
|
설정한 적이 없어 아직 비어있다
crond 실행 확인
=>ps -ef | grep crond
crond 시작
=> /etc/rc.d/init.d/crond start{restart | stop}
일반사용자에게 crontab 명령어 사용하도록 설정 허가
=> /etc/cron.allow 여기에 ID 등록
일반사용자의 crontab 명령어사용을 제한하고자 한다면
=>/etc/cron.deny 에 ID를 등록
즉
/etc/cron.allow : 허용할 사용자 ID 목록
/etc/cron.deny : 거부할 사용자 ID 목록
cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
cron.deny 파일이 있으면 이 파일에 들어있는 ID는 사용 불가
따라서 cron.deny에 arang ID를 추가해주면 됩니다.
등록 내용 설정
"분,시,일,월,요일, 실행명령" 순으로 설정
2) crontab 파일 형식
------ -------- ---------------------------------------------------
필 드 의 미 범 위
------ -------- ---------------------------------------------------
첫번째 분 0-59
두번째 시 0-23
세번째 일 0-31
네번째 월 1-12
다섯번째 요일 0-7 (0 또는 7=일요일, 1=월, 2=화,...)
여섯번째 명령어 실행할 명령을 한줄로 쓴다.
------ -------- ---------------------------------------------------
- 한 줄당 하나의 명령 (두줄로 나눠서 표시할 수 없음)
- # 으로 시작하는 줄은 실행하지 않는다.
crontab -e 을 하면 vi 에디터가 나온다.(환경변수 EDITOR에 따라 다른 에디터를 사용할 수 있다.)
$ crontab -e # /home 디렉토리를 /BACKUP/home 으로 백업해둠 # # 30분, 새벽 4시와 낮 12시, 모든 일, 모든 월, 모든 요일 30 4,12 * * * /usr/bin/rsync -avxH --delete /home /BACKUP/home > /dev/null 2>&1 # # 파일/디렉토리 퍼미션 설정 # 40분, 새벽 1시, 매주 일요일 40 1 * * 0 /root/bin/perm_set.sh > /dev/null 2>&1
|
위는 매일 4:30분과 12:30분에 rsync 명령을, 매주 일요일 1:40분에 perm_set.sh를 실행함을 의미한다.
http://arang99.net/blog/trackback/38