Skip to content

Instantly share code, notes, and snippets.

@kirkegaard
Created July 18, 2011 22:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kirkegaard/1090907 to your computer and use it in GitHub Desktop.
Save kirkegaard/1090907 to your computer and use it in GitHub Desktop.
quick and dirty rsync backup script in node.js
#!/usr/local/bin/node
var sys = require('sys')
, fs = require('fs')
, exec = require('child_process').exec
, colors = require('colors');
var dest = '/Volumes/Drobo/BACKUP/'
, logfile = '.sync/log'
, folders = [
'~/Development',
'~/Documents',
'~/Pictures',
'~/Music',
'~/Sites',
'~/Work',
];
if(!fs.statSync(dest).isDirectory()) {
return false;
}
sys.puts('Syncing...'.yellow);
var cmd = 'rsync -avr --exclude=".DS_Store" ' + folders.join(' ') + ' ' + dest;
exec(cmd, function(err, stdout, stderr) {
fs.writeFileSync(logfile, stdout);
if(err !== null) {
sys.puts('Something went wrong'.red);
return false;
}
sys.puts('Syncing complete!'.green);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment