일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- pythoncom37.dll
- 명령어
- 리눅스
- STS
- error
- Linux
- DataTables
- HMI
- LOG
- 맥코트
- checkbox
- ORA-28002
- SCADA
- Python
- 가상환경
- 분노
- build
- 말라키
- Anaconda
- 원한
- geckodriver
- Eclipse
- Custom
- JQuery
- 파이썬
- Today
- Total
2010년 5월 1일, 2막
Windows용 MySQL 백업 배치 파일 만들기 본문
@ECHO OFF
ECHO MySQL 데이터베이스 백업 시작
FOR /F "tokens=1-3 delims=- " %%a IN ('DATE /T') DO (SET dt=%%a-%%b-%%c)
FOR /F "tokens=1-4 delims=:." %%a IN ('ECHO %TIME%') DO (SET tm=%%a%%b%%c%%d)
SET backupfilename=_%dt%_%tm%.sql
ECHO 백업파일명: %backupfilename%
mysqldump --routines -uusername -ppassword dbname > E:\data\backup\"dbname%backupfilename%"
ECHO 오래된 백업을 삭제
FORFILES /P E:\data\backup /S /M *.sql /D -3 /C "cmd /c del @file"
ECHO 백업 완료
1. 먼저 백업 파일 이름에 들어갈 날짜 부분을 만듭니다.
FOR /F "tokens=1-3 delims=- " %%a IN ('DATE /T') DO (SET dt=%%a-%%b-%%c)
- DATE /T 명령을 명령행에서 내려보면 YYYY-MM-DD 형태의 날짜가 출력됩니다. 이 문자열을 "- " 를 분리자로 분리하면 세 개의 토큰이 만들어지는데 각각이 %a, %b, %c 가 되는 것입니다. 이것을 변수 dt 에 저장합니다.
FOR /F "tokens=1-4 delims=:." %%a IN ('ECHO %TIME%') DO (SET tm=%%a%%b%%c%%d)
- ECHO %TIME% 를 실행하면 HH:MM:SS.SS 형태의 시간이 출력됩니다. 이 문자열을 ":." 를 분리자로 분리하면 네 개의 토큰이 만들어지고 각각이 %a, %b, %c, %d 가 됩니다. 이것을 변수 tm 에 저장합니다.
SET backupfilename=_%dt%_%tm%.sql
- 백업 파일의 이름은 데이터베이스 이름에 _YYYY-MM-DD_HHMMSSSS.sql 가 붙는 형태로 만들어 집니다.
2. 데이터베이스를 백업합니다.
mysqldump --routines -uusername -ppassword dbname > E:\data\backup\"dbname%backupfilename%"
- mysqldump 명령으로 백업합니다. --routines 옵션은 저장 프로시저도 백업하라는 것입니다.
3. 오래된 백업 파일을 삭제합니다.
FORFILES /P E:\data\backup /S /M *.sql /D -3 /C "cmd /c del @file"
- /P E:\data\backup : 검색을 시작할 경로를 지정합니다.
- /S : 하위폴더를 포함 하도록 지정합니다.
- /M *.sql : 검색 마스크에 따라 파일을 검색합니다. '*' 이 기본 검색 마스크입니다.
- /D -3 : 3일 지난 파일을 찾습니다. +/-를 사용해서 0~32768 까지 지정할 수 있습니다.
- /C "cmd /c del @file" : 각 파일에 실행할 명령어를 지정합니다. 명령 문자열은 큰따옴표로 묶어야 합니다.
이제 백업을 수행하고, 오래된 파일을 삭제하는 batch 파일을 만들어 보았습니다. 이 파일을 윈도우즈 작업 스케줄러를 사용해서 주기적으로 실행하면 되겠습니다.
출처: https://offbyone.tistory.com/258 [쉬고 싶은 개발자]
4. 작업 스케줄러에 배치파일 등록
배치파일을 "dbbackup.bat"로 생성했다고 하면
작업 스케줄러 트리거는 하루에 한번 지정한 시간에 실행하는 것으로 설정
동작은 생성한 배치파일을 지정합니다.
이제 하루에 한번 날짜명으로 된 db 덤프 백업이 자동으로 이루어집니다.
출처 : https://apost.kr/355
'Computer > Tips' 카테고리의 다른 글
SpringBoot 세션타임 관리하는 방법 (0) | 2020.09.15 |
---|---|
springboot 2.x spring security 중복로그인 방지, logout 시 session 삭제 안될때 처리 (0) | 2020.09.08 |
[C#] 트레이 아이콘 적용 (0) | 2020.07.19 |
Git 사용법 관련 (0) | 2020.04.24 |
[c#] WORKING WITH ASYNCHRONOUS METHODS IN C# (0) | 2020.03.31 |