https://github.com/rochimfn/tbd-backup-script
Script (primary) custom log shipping
https://github.com/rochimfn/tbd-backup-script
log-shipping nodejs sqlserver
Last synced: about 2 months ago
JSON representation
Script (primary) custom log shipping
- Host: GitHub
- URL: https://github.com/rochimfn/tbd-backup-script
- Owner: rochimfn
- Created: 2021-11-23T07:48:15.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-17T17:05:14.000Z (over 4 years ago)
- Last Synced: 2025-07-17T04:08:00.105Z (12 months ago)
- Topics: log-shipping, nodejs, sqlserver
- Language: JavaScript
- Homepage: https://github.com/rochimfn/tbd-log-shipping
- Size: 133 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Script (primary) custom log shipping
## Panduan Pemasangan
### Prerequisite
* [Git](https://git-scm.com/downloads)
* [NodeJs](https://nodejs.org/en/download/) versi v14 atau lebih tinggi
* [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/) versi 1.22
* [MongoDB](https://www.mongodb.com/try/download/community) versi 5.0.3
* [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads) versi 2019 Express edition
Pastikan sqlserver memiliki akses baca tulis ke direktori
* `C:\rc_backup\` jika menggunakan **windows**
* `/var/opt/mssql/data/rc_backup/` jika menggunakan **linux**
Kustomisasi direktori dapat dilakukan dengan mengedit berkas `modules/dir/prepareDir.js`
```js
// modules/dir/prepareDir.js
import fs from 'fs';
const prepareDir = (platform) => {
let dir = '';
if (platform === 'win32') {
dir = 'C:\\rc_backup\\';
} else if (platform === 'linux') {
dir = '/var/opt/mssql/data/rc_backup/';
}
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
return dir;
}
export default prepareDir;
```
### Mulai Pemasangan
1. Salin repositori
```bash
git clone https://github.com/rochimfn/tbd-backup-script.git
```
2. Masuk ke direktori
```bash
cd tbd-backup-script
```
3. Pasang dependensi
```bash
yarn
```
4. Konfigurasi `.env`
```bash
cp .env.example .env #bash atau powershell
copy .env.example .env #cmd
```
Isi konfigurasi dengan kredensial mongodb. Contohnya sebagai berikut:
**Konfigurasi mongodb wajib sama dengan [web monitor](https://github.com/rochimfn/tbd-server-webserver)**
```env
MONGO_HOST='127.0.0.1'
MONGO_PORT='27017'
MONGO_DATABASE='log_shipping'
MONGO_USERNAME='admin'
MONGO_PASSWORD='password'
```
5. Konfigurasi primary node melalui [web monitor](https://github.com/rochimfn/tbd-server-webserver)
**Sistem ini hanya mendukung single primary node saja**

* Buka halaman Primary Node
* Tekan tombol EDIT
* Isi `Hostname/ip` dengan hostname/ip dari server primary yang ingin dipasang log shipping
* Isi `Port` dengan port dari sql server
* Isi `Database` dengan daftar database akan digenerate dan dikirim log shipnya (dipisahkan dengan koma)
* Isi `Username DB` dan `Password DB` dengan kredensial sql server yang memiliki akses generate log dan backup database
* Tekan tombol `SIMPAN` untuk menyimpan konfigurasi
6. Konfigurasi secondary nodes melalui [web monitor](https://github.com/rochimfn/tbd-server-webserver)
**Sistem ini mendukung multi secondary node**

* Buka halaman "Secondary Nodes"
* Tekan tombol "TAMBAH"
* Sesuaikan isian dengan kredensial client secondary (tbd-client-webserver)
* default port: `3000`
* default email: `rochim.noviyan@gmail.com`
* default password: `password`
* Tekan tombol "TAMBAH"
### Backup Script
Script dapat dijalankan dengan perintah berikut:
```
node script.js log
```