Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- invalid data
- setInterval 정지
- DatePicker
- 공인IP
- timepicker
- Replication
- 서버동기화
- c# datagridview 데이터 넣기
- pm2 시작
- setInterval 외부 정지
- pm2 확인
- 데이터테이블 데이터 넣기
- transfer
- AntDesign
- allow_anonymouse
- DataGridView 직접 입력
- pm2 상태 확인
- map이 undefined가 뜰 때
- pm2
- mosquitto.conf
- pm2 설치
- setInterval 중지
- mosquitto
- mySQL_Replication
- setInterval clear
- html #select #option #multiple
- listener 1883
- datagridview 직접입력
- 1883
- 맥 어드레스
Archives
- Today
- Total
개발 노트
nodejs에서 mysqldump실행하기 본문
mysqldump로 mysqlDB를 백업할수있다.
기본적인 사용법은 다음과 같다.
$ mysqldump -uroot -p[password] [dbname] > [backup_file_name]
이를 nodejs환경에서 실행해보려고 한다.
.
const { spawn } = require('child_process');
const fs = require('fs');
async function backup() {
return new Promise((resolve, reject) => {
const mysqldump = spawn('mysqldump',[
'-u[user]',
'-p[password]',
'[database]'
])
const writestream = fs.createWriteSteam('[file].sql')
mysqldump.stdout
.pipe(writeStream)
.on('finish', function () {
console.log('DB백업 완료');
writeStream.end();
resolve();
})
.on('error', function (err) {
console.log('DB백업 실패');
reject();
});
}
하위프로세스를 spawn을 이용하여 실행하여 복원데이터를 file.sql에 저장한다.
const mysqldump = spawn('mysqldump',[
'-u[user]',
'-p[password]',
'[database]'
'--routines',
'--events',
'--triggers',
'--add-drop-table',
'--databases',
])
이후 정상적인 복원을 위하여, 프로시저와 이벤트를 모두 포함시키기위해 해당 인자를 추가한다.
실행 후 해당 복원데이터가 담긴 파일이 생성되었다.
const cron = require('node-cron');
const task = cron.schedule(
'00 * * * *',
() => { backup() },
{ scheduled: false }
);
이후 해당함수를 매시 정각마다 실행하게 스케쥴링하였다.
'Node' 카테고리의 다른 글
PostMan Error : Cloud Agent Error 해결 (0) | 2023.06.13 |
---|---|
Node.js와 MySQL 모듈 연결 시 오류 해결 (0) | 2023.06.12 |
nodeJS - pm2 (0) | 2023.05.04 |
Nodejs - execute,replace (0) | 2023.04.19 |
Node js - setInterval과 socket.connect (0) | 2023.02.16 |