BLOG ARTICLE 백업 | 2 ARTICLE FOUND

  1. 2008/05/30 mysql db 백업/ 복원
  2. 2007/07/24 log 백업을 위한.. crontab

user : blog
pwd : blog
dbname : blog 로 가정

DB 백업
#mysqldump -ublog -pblog blog > blog.sql
DB 복원
#/usr/bin/mysql -ublog -pblog blog < blog.sql

DB 생성
create database blog;

계정 추가
insert into user (host, user, password) values ('localhost', 'USER명', password('암호'));

권한 부여
insert into db values ('localhost', 'DB명', 'USER명', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y');

권한 적용
flush privileges;


작업하다가..
그냥 정리 해본다..
요즘 블로그 관리가 너무 소홀하기도 하고 ;;
==============================================================

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를 실행함을 의미한다.