w-backup
A backup tool for files and folders.
Documentation
To view documentation or get support, visit docs.
Installation
Using npm(ES6 module):
Note: w-backup
is mainly dependent on w-zip
and json5
.
Note: w-backup
can be compiled into an executable file by using pkg
.
npm i w-backup
Example:
Link: [dev source code]
import fs from 'fs'
import w from 'wsemi'
import wb from 'w-backup'
let fpSetting = './setting-zip.json'
let fpBackup = './testData/output'
let fpKeep = './testData/outputList'
//fsDeleteFolder
w.fsDeleteFolder(fpBackup)
//fsCreateFolder
w.fsCreateFolder(fpKeep)
fs.writeFileSync(fpKeep + '/20200101.zip', 'a1', 'utf8')
fs.writeFileSync(fpKeep + '/20200115.zip', 'a2', 'utf8')
fs.writeFileSync(fpKeep + '/20200201.zip', 'b1', 'utf8')
fs.writeFileSync(fpKeep + '/20200215.zip', 'b2', 'utf8')
fs.writeFileSync(fpKeep + '/20200301.zip', 'c1', 'utf8')
fs.writeFileSync(fpKeep + '/20200315.zip', 'c2', 'utf8')
fs.writeFileSync(fpKeep + '/20200401.zip', 'd1', 'utf8')
fs.writeFileSync(fpKeep + '/20200415.zip', 'd2', 'utf8')
//use setting.json
wb(fpSetting)
.then((msg) => {
console.log(msg)
})
.catch((err) => {
console.log(err)
})
// then => output success to: path/to/testLog/success-20200806193318.log
// [
// 'done: ./testData/output/20200805/test-y1.zip',
// 'done: ./testData/output/2020-08-05/test-y2.zip',
// 'done: ./testData/output/20-08-05/test-y3.zip',
// 'done: ./testData/output/2020-08-06/test-t1.zip',
// 'done: ./testData/output/20200806/test1.zip',
// 'done: ./testData/output/20200806/test2.zip',
// 'done: ./testData/output/20200806/test3.zip',
// 'done: ./testData/output/20200806/unzip/test1',
// 'done: ./testData/output/20200806/unzip/test2',
// 'done: ./testData/output/20200806/unzip/test3',
// 'done: ./testData/outputList',
// 'finish at 2020-08-06T19:33:18+08:00'
// ]
Build an executable file:
You can use ./src/compile.js
and pkg
to compile w-backup
into an executable file.
Compile for windows:
./node_modules/.bin/pkg -t win src/compile.js --output bin/wb.exe
Run for windows:
path/to/wb.exe path/to/setting.json