在centos中使用unix时间戳设置cron

在centos中使用unix时间戳设置cron

我想设置一个将在指定时间运行的 cron 任务。我知道 01 * * * * root run-parts /etc/cron.hourly要运行这些工作。但是有什么方法可以直接使用unix时间戳运行任务吗?

答案1

我想at会完成这项工作。它在特定时间运行一次

欲了解更多信息:http://www.computerhope.com/unix/uat.htm

at不支持秒,所以你必须通过date命令使用它:

at `date -d @<timestamp> +"%I:%M %p %b %d"`

答案2

就我而言,这是在使用节点时在特定时间戳安排作业的特定目的。我使用的方法非常幼稚。我希望它对你有帮助。

应用程序.js

const moment = require('moment');
const shelljs = require('shelljs');

const time = moment();

const getCrontTime = (time) => {
    time = `${time.minutes()+1} ${time.hour()} ${time.date()} ${time.month()+1} *`;
    shelljs.exec(`sh excutioner.sh "${time}"`);
}

getCrontTime(time);

executioner.sh(我还必须删除此 cron 作业的先前迭代,因此第 4 行)

#!/bin/bash
time=$1

crontab -l | grep -v '/usr/bin/node /home/awpshun/POCs/crontab/download.js > /home/awpshun/POCs/crontab/down.log'  | crontab -
crontab -l > cron_bkp
echo $time /usr/bin/node $PWD/download.js
whoami
echo "$time node $PWD/download.js > $PWD/down.log" >> cron_bkp
crontab cron_bkp

download.js(检查其中 $PWD 的值)

const shelljs = require('shelljs');

shelljs.exec('echo $PWD $whoami')
shelljs.exec(`curl https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png --output /home/awpshun/POCs/crontab/file.png`)

相关内容