집 >데이터 베이스 >MySQL 튜토리얼 >MySQL은 CentOS에서 자동 백업을 수행합니다.
개발 중에는 Svn이나 Git을 사용하여 코드나 프로젝트 관련 파일을 관리하는 경우가 많습니다. 그러나 모두 공통점이 있습니다: Version Control
#🎜 🎜 # 많은 사람들이 Svn이나 Git을 사용해야 하는 이유를 물을 것이고 나는 이렇게 묻습니다. 당신이 작성한 코드는 매우 훌륭하다고 생각하지만 어느 날 당신은 많은 버그를 수정했지만 갑자기 이전 코드 중 하나가 더 중요하다고 생각했습니다. 실수로 알고리즘을 덮어썼습니다. 이때 어떻게 해야 합니까? 권장 아마도 이 코드를 수정하기 전에 현재 수정된 파일을 백업할 수 있다고 말씀해 주실 수도 있고, 현재 프로젝트입니다. 하지만 시간이 지남에 따라 컴퓨터에 얼마나 많은 백업 파일이 남게 될까요? 어느 날 동료가 버그의 원인을 확인하기 위해 이전 코드로 롤백해야 하는 경우 지정된 시간에 컴퓨터에서 파일을 찾아 그에게 보내시겠습니까? 물론 아닙니다. Svn이나 Git이 있으면 이전 버전의 파일을 쉽게 보고 쉽게 비교할 수 있습니다. 이제 버전 관리의 중요성이 분명해졌습니다. 데이터베이스의 경우에도 마찬가지입니다. 우리 시스템의 99%는 항상 데이터를 저장해야 하기 때문에 데이터베이스와 분리될 수 없습니다. 그렇다면 데이터베이스가 실수로 삭제되거나 해킹되거나 악의적으로 수정되면 어떻게 되나요? 그런 다음 서버가 데이터베이스 데이터를 지정된 위치에 자동으로 백업하도록 할 수 있습니다. 어느 날 데이터베이스가 실수로 흔들리면 백업된 데이터베이스를 사용할 수도 있습니다. 스크립트가 직접 복원됩니다.업로드 스크립트:
# db username db_user="test" # db password db_passwd="test" # db host db_host="121.201.5.216" # backup db name db_name="Alterem" # the directory for story your backup file. backup_dir="backup" cd # date format for backup file (dd-mm-yyyy) time="$(date +"%Y-%m-%d-%H-%M-%S")" # mysql, mysqldump and some other bin's path MYSQL="/usr/local/mysql/bin/mysql" MYSQLDUMP="/usr/local/mysql/bin/mysqldump" GZIP="/bin/gzip" $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "/data/backup/$backup_dir/$db_name"_"$time.gz"
타이머 만들기
crontab -e#🎜 🎜 #타이머 추가
# 每天凌晨 1 点 30 分 进行数据备份
30 1 * * * /root/mysql-backup.sh
/etc/rc.d/init.d/crond restart
#🎜 🎜#
# 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复制代码온라인 크론 표현식 생성기: http://cron.qqe2.com/
위 내용은 MySQL은 CentOS에서 자동 백업을 수행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!