일정 시간 마다 MySQL 데이터베이스를 자동으로 백업해주는 Bash Shell 스크립트입니다.
주의: 이 스크립트는 데이터베이스 용량이 작은 경우에 권장되며 가급적이면 용량이 큰 데이터베이스를 이 스크립트를 사용하여 백업하지 않는 것을 권장합니다.
#!/bin/bash # Time format currentDate=$(date "+%Y_%m_%d_%H_%M_%S") # Database user authentication dbUser="[Database User]" dbPass="[Database Password]" # Save file name or path siteName="[Backup File Name]" savePath="[Backup FIle Path]" # ====================================================== # Create SQL Backup File # ====================================================== mysqldump -u$dbUser -p$dbPass -A > $savePath$siteName'_backup_'$currentDate.sql chmod 400 $savePath$siteName'_backup_'$currentDate.sql echo "Success : Created backup file. ($currentDate)"
상단의 파일을 복사하여 mysqlbackup.sh으로 저장합니다. (이름은 자유롭게 지정해주셔도 됩니다.)
여기서 해당되는 변수에 지정된 값을 기입해야 합니다.
해당 파일을 실행할 수 있도록 권한을 700로 설정합니다. 가능하면 mysqldump
명령어를 실행할 수 있는 사용자로 권한을 변경해주는 것을 권장합니다.
root 권한으로 실행하려 한다면 아래와 같이 진행해주시면 됩니다.
# chmod 700 mysqlbackup.sh # chown root.root mysqlbackup.sh
다음으로 예약 작업을 지정합니다. crond
로 예약 작업을 추가해보겠습니다. 아래 명령어로 cron 작업 편집기를 열어주세요.
# crontab -e
cron 작업 편집기가 열리면 다음 내용을 추가합니다.
0 1 * * * /[실행파일 경로]/mysqlbackup.sh
위 예시는 매일 오전 1시에 자동으로 해당 스크립트를 실행해주는 내용을 담고 있습니다.
이제 crond 서비스를 재시작해야 합니다.
# service crond restart
이제 해당 스크립트가 일정 시간 마다 실행 될 것입니다.
만약 해당 백업 파일로 데이터베이스 백업이 필요한 경우, 아래 포스트를 참고하여 데이터베이스 백업을 진행해보세요.
Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…
INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…