-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathindex.js
More file actions
33 lines (30 loc) · 1.14 KB
/
index.js
File metadata and controls
33 lines (30 loc) · 1.14 KB
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
32
33
const files = require('./files');
const cjson = require('./config.json');
async function main() {
try {
for (const dir of cjson.backup_dirs) {
await files.main(dir);
}
console.log("\nStoring files...")
for (let dir of cjson.backup_dirs) {
dir = dir.startsWith('/') ? dir.slice(1) : dir;
const storeProcess = require('child_process').spawn('sudo', ['node', '--max-old-space-size=16384', '--expose-gc', './store.js', dir], { stdio: 'inherit' });
storeProcess.on('close', (code) => {
if (code !== 0) {
console.error(`Store process exited with code ${code}`);
}
});
storeProcess.on('error', (err) => {
console.error(`Error starting store.js for directory ${dir}:`, err);
});
await new Promise(resolve => storeProcess.on('close', resolve));
}
console.log("\nSuccessfully stored all files.");
} catch (error) {
console.error('An error occurred:', error.message);
}
}
if (require.main === module) {
main();
}
module.exports = { main };