IST 시간에 cronjob 설정

IST 시간에 cronjob 설정

다른 시간대에서 실행되도록 cronjob을 설정하려고 합니다. 나는 많은 것을 봤고 편집이 /etc/default/cron갈 길이라는 것을 알았습니다. 하지만 이 파일은 더 이상 사용되지 않으며 다음 메시지를 확인하여 TZ=IST파일에 추가했습니다 /etc/init/cron.conf. 이것이 작동할지 잘 모르겠습니다. 앞으로 나아갈 방법에 대한 제안이 있습니까?

# This file has been deprecated. Please add custom options for cron to
# /etc/init/cron.conf and/or /etc/init/cron.override directly. See
# the init(5) man page for more information

Ubuntu Linux에서 cron 3.0pl1-120ubuntu4를 사용하고 있습니다.

답변1

크론이 다른 TZ에 있습니다.

CRON_TZ대신 변수를 설정해 볼 수도 있습니다 TZ. 이러한 옵션은 배포판별로 다릅니다. 다음 Fedora 및 Ubuntu 매뉴얼 페이지를 살펴보고 man 5 crontab검색했습니다.TZ

Fedora에는 이 기능이 CRON_TZ=IST있으며 우분투에서는 다음과 같이 선언합니다.

cron 데몬은 정의된 시간대로 실행됩니다. 현재는 사용자별 시간대를 지원하지 않습니다. 모든 작업: 시스템 및 사용자 작업은 구성된 시간대에 따라 실행됩니다. 사용자가 crontab에서 TZ 환경 변수를 지정하더라도 이는 crontab 작업 자체의 실행이 아니라 crontab에서 실행되는 명령에만 영향을 미칩니다.

Fedora 매뉴얼 페이지에서는 다음과 같이 설명합니다.

CRON_TZ 변수는 cron 테이블별 시간대를 지정합니다. 사용자는 지정된 시간대를 기준으로 테이블에 시간을 입력해야 합니다. 로그 파일에 쓰는 데 사용되는 시간은 데몬이 실행 중인 현지 시간대를 기준으로 합니다.

Ubuntu를 사용하고 있다는 점을 고려하면 이것이 작동할 것이라고 기대하지는 않지만 그럴 수도 있습니다. 우분투 12.10을 확인했습니다.

다음과 같이 시도해 보세요.

#m  h           d   m   wday    command
CRON_TZ=IST
5   0,6,12,18   *   *   *       /path/to/script.bash

모든 크론은 서로 다른 TZ에 있습니다.

그러나 목표가 서로 다른 시간대에서 모든 cron을 실행하는 것이라면 보다 극적인 전략을 채택하고 TZcron 데몬 자체를 변경할 수 있습니다. 중지/시작 스크립트에는 다음과 같은 내용이 있습니다.

# /etc/init.d/crond
...
...
# Source function library.
. /etc/rc.d/init.d/functions

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

export TZ=IST
start() {
    if [ $UID -ne 0 ] ; then
        echo "User has insufficient privilege."
        exit 4
    fi
    [ -x $exec ] || exit 5
    [ -f $config ] || exit 6
    echo -n $"Starting $prog: "
    daemon $prog $CRONDARGS
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
}
...
...

이것은 Fedora crond 중지/시작 스크립트의 코드이지만 Ubuntu의 crond 중지/시작 스크립트에도 유사한 변경이 이루어질 수 있습니다.

답변2

괜찮습니다. 하지만 문자열 "IST"를 따옴표로 묶어보세요.

또는 :cron.conf/etc/default/cron

export TZ='IST'

또한 짧은 이름을 사용하는 대신 긴 이름을 사용해 보세요.

export TZ='Asia/Kolkata'

~/.profile또는 crontab을 수행하는 경우 이것을

export TZ='Asia/Kolkata'

이 데몬의 구성 파일을 변경한 후에는 다시 시작해야 합니다.

service cron restart

관련 정보