AIX: su 또는 crontab을 사용할 때 시간대가 다른 이유는 무엇입니까?

AIX: su 또는 crontab을 사용할 때 시간대가 다른 이유는 무엇입니까?
3:root@SERVER:/root # cat wtf.sh
echo "date"
date 
echo "su - root -c date"
su - root -c date
3:root@SERVER:/root # 
3:root@SERVER:/root # ksh wtf.sh
date
Wed Nov  9 13:15:01 MEZ 2016
su - root -c date
Wed Nov  9 12:15:01 UTC 2016
3:root@SERVER:/root # grep TZ /etc/environment
    TZ=MEZ-1MESZ-2,M3.5.0/02:00,M10.5.0/03:00
3:root@SERVER:/root # oslevel -s
6100-09-06-1543
3:root@SERVER:/root # 

왜 다른가요?

crontab에 UTC가 표시되어도 시스템 TZ는 MEZ입니다.

답변1

최근에 TZ로 전환하셨나요?

TZ를 변경하면 smitty chtz_date일반적으로 재부팅을 권장합니다.

방금 로그아웃/로그인한 경우 세션에 새 TZ가 표시됩니다. 그러나 이미 실행 중인 프로세스는 이전 프로세스에 대해서만 알고 있습니다.

그런 다음 TZ 변경 사항을 적용하려면 모든 서비스를 다시 시작해야 합니다. 재부팅이 불가능하므로 init재부팅을 권장합니다.

귀하의 경우, cron죽이고 다시 시작하면 작동할 것 같지 않습니다. 이렇게 하면 재부팅을 피할 수 있습니다.

다시 시작해도 문제가 해결되지 않으면 추가하여 echo $TZ현재 있는 각 환경의 변수를 확인하세요.

당신은 또한 볼 수 있습니다AIX를 다시 시작하지 않고 시간대를 UTC로 변경하는 방법

편집: TZ를 확인 /etc/environment하지만 덮어쓰는지 확인해야 합니다.

/etc/profile
$HOME/.kshrc
$HOME/.profile

인용하다:AIX Korn 쉘 환경

관련 정보