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`)

관련 정보