{"_id":"lum_crontab","_rev":"1-a4b01a928d62bb28655e6ddd30393474","name":"lum_crontab","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"lum_crontab","description":"A module for reading, creating, deleting, manipulating, and saving system cronjobs with node.js","keywords":["cron","crontab","schedule","system","run","process"],"version":"1.0.0","main":"./lib/index","dependencies":{"underscore":"^1.6.0"},"devDependencies":{"vows":"0.7.0"},"scripts":{"test":"test/runner.js"},"engines":{"node":">= 0.10.0"},"author":{"name":"Blagovest Dachev","email":"blago@dachev.com","url":"http://www.dachev.com"},"homepage":"https://github.com/dachev/node-crontab","repository":{"type":"git","url":"git://github.com/dachev/node-crontab.git"},"licenses":[{"type":"GPL3","url":"http://opensource.org/licenses/MIT"}],"gitHead":"3443620ea76a63fdb1d00b0f9869fec7cfe6e9c2","bugs":{"url":"https://github.com/dachev/node-crontab/issues"},"_id":"lum_crontab@1.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-4Q70OO4BhjN96XvcNQ/JZ0vZbG/DEmHJSbqac/1rBj4m5CGDGP7B9JwSurH1VG+lZacYmvVCAfSghax+IYS3iQ==","shasum":"fa5b49c4f7a7ececf405bd6eea868b230dcf51c9","tarball":"https://registry.npmjs.org/lum_crontab/-/lum_crontab-1.0.0.tgz","fileCount":11,"unpackedSize":72156,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJbXfCRA9TVsSAnZWagAAKtMP/iIqNCrFESCDgxr9McIH\n4KOziekrQpQGMX2KshmFci5+riouEWe3FdID8IxcrlVs/UWbVTKC72iOCm9z\nOOF2Vdpgu6BNXUDDzs01qbtn4UC+1P+6eEYCGn9zvUjBd08SV3qb0/9qYi2a\n5dygrCmFEPee73XvOumKn/1UejVBhCRaUfFr7hicu53humACoAAlX63P2zYE\nmlCojbUxejdDitynJHRfPJTBI+k+VioBU89RIKBh8A2yB7UngFVVQka1+wHy\nCDAj+d7q1EEEqw7tJA32Ph4vps4B6xyS05QJlZpPBn6aPYp9upkpa/LdEm0u\n7C+qROx/OzNAd/TlrIEn1336vPUQOQ8UqPX1NAErb6EbfgXqJ5a7BHmOlCKg\nZ1IatbB8ufdd/MjoYHuygw6qt904wd5kCl8iY38S+CgtCOvaXrDgYFnZEdIx\nEBu6JrNs3dvzs/exsKqvFbOCjsiRGpc00PkvkDb+po3U9QEI4bR93DYhVhIr\na3bNzZ4Fn0A4+KjTyzcTZ06G1XAo5fOUmajAx40LAn909ZXbMFeHFgBFIK/g\nH1MYs9HCnUAZJy/KKJVVrhDl8/q8gIv56MNYO90bmygxWHQxTHpoVimudFNN\nt73pwbUnJJ1F+YJB2aT14q1quuJTz53ind1K2ev+slgjE7uwap5RGDTSS0DE\nyYbC\r\n=ceyI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLxtG02rcjJaMloPJzpk92hno1SrDY49+kAh3FxnciNAiEAxb3HKOy47ieVUy3IIiir2m+Sx//X3BRt1TaX5RjbXso="}]},"maintainers":[{"name":"luminati.io","email":"npm@luminati.io"}],"_npmUser":{"name":"luminati.io","email":"npm@luminati.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lum_crontab_1.0.0_1579529695507_0.9416458180638094"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-20T14:14:55.507Z","1.0.0":"2020-01-20T14:14:55.628Z","modified":"2022-05-08T13:10:05.701Z"},"maintainers":[{"name":"luminati.io","email":"npm@luminati.io"}],"description":"A module for reading, creating, deleting, manipulating, and saving system cronjobs with node.js","homepage":"https://github.com/dachev/node-crontab","keywords":["cron","crontab","schedule","system","run","process"],"repository":{"type":"git","url":"git://github.com/dachev/node-crontab.git"},"author":{"name":"Blagovest Dachev","email":"blago@dachev.com","url":"http://www.dachev.com"},"bugs":{"url":"https://github.com/dachev/node-crontab/issues"},"readme":"# node-crontab\n[![Build Status](https://secure.travis-ci.org/dachev/node-crontab.png)](http://travis-ci.org/dachev/node-crontab)\n[![Dependencies](https://david-dm.org/dachev/node-crontab.png)](https://david-dm.org/dachev/node-crontab)\n[![NPM version](https://badge.fury.io/js/crontab.svg)](http://badge.fury.io/js/crontab)\n\nA module for creating, reading, updating, and deleting system cron jobs\n\n## Installation\n\n```bash\n$ npm install crontab\n```\n\n## Examples\n### Working with jobs\n```js\nrequire('crontab').load(function(err, crontab) {\n  // create with string expression\n  var job = crontab.create('ls -la', '0 7 * * 1,2,3,4,5');\n\n  // create with Date\n  var job = crontab.create('ls -lh', new Date(1400373907766));\n\n  // create with comment\n  var job = crontab.create('ls -lt', null, 'comment 2');\n\n  // create special: @reboot, @hourly, @daily, @weekly, @monthly, @yearly, @annually, @midnight\n  var job = crontab.create('ls -la', '@reboot');\n\n  // check valid\n  var job = crontab.create();\n  if (job == null) {\n    console.log('failed to create job');\n  }\n\n  // remove object\n  var job = crontab.create('ls -lr', '0 7 * * 1,2,3,4,5', 'comment 3');\n  crontab.remove(job);\n\n  // remove conditions\n  crontab.remove({command:'ls -lh', comment:/comment 2/});\n\n  // manipulate: every business hour\n  var job = crontab.create('ls -l');\n  job.minute().at(0);\n  job.hour().between(8, 17);\n  job.dow().between('mon', 'fri');\n\n  // manipulate: every other hour on weekday nights\n  var job = crontab.create('ls -l');\n  job.hour().between(19, 0).every(2);\n  job.hour().between(0, 6).every(2);\n  job.dow().between('mon', 'fri');\n  \n  // manipulate: summer\n  var job = crontab.create('ls -l');\n  job.month().between('jun', 'sep');\n  \n  // manipulate: Christmas\n  var job = crontab.create('ls -l');\n  job.minute().at(30);\n  job.hour().at(9);\n  job.dom().on(24);\n  job.month().in('dec');\n\n  // show all jobs\n  var jobs = crontab.jobs();\n\n  // show jobs with conditions\n  var jobs = crontab.jobs({command:'ls -l', comment:/comment 1/});\n\n  // reset jobs to their original state\n  crontab.reset();\n\n  // save\n  crontab.save(function(err, crontab) {\n  \n  });\n\n  console.log(crontab);\n});\n```\n\n### Working with environment variables\n```js\nrequire('crontab').load(function(err, crontab) {\n  // get all env variables\n  var vars = crontab.vars();\n  // find env variables by name\n  var vars = crontab.vars({name: 'FOO'});\n  // find env variables by value\n  var vars = crontab.vars({val: 'bar'});\n  // find env variables by name and value\n  var vars = crontab.vars({name: 'FOO', val: 'bar'});\n  // find env variables by name\n  var vars = crontab.vars('FOO');\n\n  // create with a pair of arguments\n  crontab.vars().add('FOO', 'foo');\n  // create multiple with an object argument\n  crontab.vars().add({'FOO':'foo', 'BAR':'1'});\n\n  // remove all env variables\n  crontab.vars().rm();\n  // remove selected env variables\n  crontab.vars({name: 'FOO'}).rm();\n\n  // save\n  crontab.save(function(err, crontab) {\n\n  });\n});\n```\n\n### Naive reboot\n```js\nrequire('crontab').load(function(err, crontab) {\n  if (err) {\n    return console.error(err);\n  }\n\n  var command = 'ls -l';\n\n  crontab.remove({command:command});\n  crontab.create(command, '@reboot');\n\n  crontab.save(function(err, crontab) {\n\n  });\n});\n```\n\n### More robust reboot and forever\n```js\nrequire('crontab').load(function(err, crontab) {\n  if (err) {\n    return console.error(err);\n  }\n\n  var uuid           = '64d967a0-120b-11e0-ac64-0800200c9a66';\n  var nodePath       = process.execPath.split('/').slice(0, -1).join('/');\n  var exportCommand  = 'export PATH=' + nodePath + ':$PATH';\n  var foreverCommand = require('path').join(__dirname, 'node_modules', 'forever', 'bin', 'forever');\n  var sysCommand     = exportCommand + ' && ' + foreverCommand + ' start ' + __filename;\n\n  crontab.remove({comment:uuid});\n  crontab.create(sysCommand, '@reboot', uuid);\n\n  crontab.save(function(err, crontab) {\n    console.log(err)\n  });\n});\n```\n\n### Specific user\n```js\n// when executing for another user the library uses sudo, unless the\n// current process runs as root\nrequire('crontab').load('alice', function(err, crontab) {\n  if (err) {\n    return console.error(err);\n  }\n\n  crontab.save(function(err, crontab) {\n    console.log(err)\n  });\n});\n```\n\n## Author\nBlagovest Dachev\n\n## Copyright\n* Blagovest Dachev (2010-2014)\n* Martin Owens (2009-2012)\n\n## Credits\nThis is a JavaScript port of a Python package by Martin Owens\n\n## License\nGPL3\n","readmeFilename":"README.md"}