CentosでUnixタイムスタンプを使用してcronを設定する

CentosでUnixタイムスタンプを使用してcronを設定する

指定した時間に実行されるクローンジョブを設定したいと思います。私は 01 * * * * root run-parts /etc/cron.hourly何をすべきかを知っています。しかし、Unixタイムスタンプを使ってジョブを直接実行する方法はありますか?

答え1

私はatそれが仕事を完了すると思います。特定の時間に一度実行されます。

詳細は:http://www.computerhope.com/unix/uat.htm

atdate秒はサポートされていないため、次のコマンドで使用する必要があります。

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

答え2

私の場合は、node.jsを使用するときに特定のタイムスタンプでジョブをスケジュールしたい特定の目的のためです。私が使ったアプローチはとても素朴でした。私はそれがあなたに役立つことを願っています。

application.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(このクローンジョブの以前の繰り返しも削除する必要があるため、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`)

関連情報