종종 '또는' 스크립트는 실행되지 crontab 스케줄상을 강타했다. 여러 가지 이유에 대해 다음과 같이 밝혔다:
이 커뮤니티는 wiki 목표로 하는 이유 '총' 스크립트에만 csetup crontab 지켜지지 않고 있는 것으로 보고 있다. 이와는 별도로 각 오토메이티드 쓰기 때문이다.
답 - 세부내용에서 호스트당 it& 이유에 대해 한 가지 이유는 포함시키십시오. # 39 의 실행되지 리스토어와 수리입니다 (es) 의 주된 원인 중 하나다.
하지만 예상대로 셸에서 실행되는 desktopplatforms 쓰기 전용 cron 특정 문제, 예를 들어 명령에 의해 잘못 실행하십시오 cron.
<! - 모든 언어: > 내주었다.
Cron 사용자의 작업 환경 변수 설정 최소 패스. 더미 (dummy), 다음과 같은 추가 작업을 차이를 볼 수 있습니다.
'다음' 작업을 다시 분리하십시오 생성할지 /tmp/env.output 기다립니다. 이제 '비교' 환경 '에' 을 (를) 의 출력을 콘텐트입니다 /tmp/env.output 실행하십시오 일반 가능하다.
일반적인 " gotcha"; 다음은 '길' 환경 변수 기술입니까 다르다. 어쩌면 네 cron 스크립트입니다 soundmixer. 섬코먼드 '명령' 에서 볼 수 있는 ',' / / bin / opt 소미프 추가되도록 '길' 에서 've you& # 39, / etc / 환경'? cron 무시하고 '길' '때' 해당 파일의 실행 해 도왔으매 섬코먼드 스크립트에서 페일오버됩니다 실행하십시오 때 함께 있지만 작동합니까 터미널에서 실행하십시오 cron # 39 의 가치가 있는 it& (cnn) / etc / 환경 변수 '에서' 에 전달되고 cron 작업 자체가 아니라, 그냥 '길' 등 com/go/4e6b330a_kr cron 구체적으로 설정합니다.
방금 설정한 것을 해결하기 위해, 자신의 '길' 맨 위에 가변적입니다 스크립트입니다. E. g.
#!/bin/bash
PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# rest of script follows
그냥 모든 명령을 사용하여 일부 포지셔닝하십시오 절대 경로 대신. 내가 어하여 추천합니까 iqn. 무슨 일이 고려해보십시오 스케쳐내 다른 시스템에서 실행할 수 있는 '에 대해, 시스템, 이 명령은 스크립트입니다 /opt/someAppv2.2/bin' 를 사용할 수 있습니다. # 39 you&; d '/ / bin / opt 소미프 교체하십니까 전체 스크립트입니다 거쳐야 할 게 아니라 작은 편집하십시오 /opt/someAppv2.2/bin' 하고 '을 (를)' 의 첫 번째 줄의 스크립트입니다.
경로도 설정할 수 있습니다, 이를 모든 변수를 crontab 파일이 적용하십시오 cron 작업. E. g.
PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
15 1 * * * backupscript --incremental /home /root
내 상단형 잡았다. 잊지 경우 추가하기에서는 끝에 개행 문자 'crontab' 절실해졌습니다. 즉, 빈 할말이다 crontab 파일이 끝나야 한다.
다음은 관련 섹션의 이 문제에 대한 맨페이지가 (crontab '다음' 양반이군요 건너뛰십시오 및끝):
Although cron requires that each entry in a crontab end in a newline
character, neither the crontab command nor the cron daemon will detect
this error. Instead, the crontab will appear to load normally. However,
the command will never run. The best choice is to ensure that your
crontab has a blank line at the end.
4th Berkeley Distribution 29 December 1993 CRONTAB(1)
Cron 데몬입니다 실행되고 있지 않습니다. 정말 망쳤어 대체하십시오 몇 개월 전.
유형:
pgrep cron
볼 수 없는 경우 어졌다면 cron 실행되고 있지 않습니다. sudo /etc/init.d/cron cron '시작' 시작하는 데 사용할 수 있습니다.
sudo service cron start
sudo systemctl start cron
',' ',' 의 파일 이름은 'cron.d/ 스크립트입니다 cron.daily/ cron.hourly/' 등, 그렇지 않으면 부품 실행하십시오 저들이요 건너뛰려면 joyon. ('.') 를 포함하지 않아야 합니다
지켜보리니 부품 실행하십시오 (8):
If neither the --lsbsysinit option nor the --regex option is given then
the names must consist entirely of upper and lower case letters, dig‐
its, underscores, and hyphens.
If the --lsbsysinit option is given, then the names must not end in
.dpkg-old or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong to
one or more of the following namespaces: the LANANA-assigned namespace
(^[a-z0-9]+$); the LSB hierarchical and reserved namespaces
(^_?([a-z0-9_.]+-)+[a-z0-9]+$); and the Debian cron script namespace
(^[a-zA-Z0-9_-]+$).
그래서, 'backup.sh', 'analyze-logs.pl' 에서 'cron.daily/ cron 스크립트입니다 경우' 디렉터리인 you& # 39; d 베스트중에 분리하십시오 확장명은 이름.
'Sh' 명령을 실행하는 cron 사용하여 많은 환경에서 사용할 수 있으며, 많은 사람들이 solaris. 정보기술 (it) '' 내주었다.
이 제안 또는 수리입니다 테스트하려면 실패한 명령:
쉬 캜 " mycommand";
배시 - c " mybashcommand";
쉘로 = /bin/bash
절대 경로 스크립트에만 사용해야 합니다.
예를 들어, '/ bin / 그렙' 대신 '' 그렙 사용해야 합니다.
# m h dom mon dow command
0 0 * * * /bin/grep ERROR /home/adam/run.log &> /tmp/errors
대신:
# m h dom mon dow command
0 0 * * * grep ERROR /home/adam/run.log &> /tmp/errors
이는 특히 같은 명령을 실행할 때 사용할 수 있기 때문에 까다로운 쉘입니다. 그 이유는 같은 환경 변수 '길' '그' cron 없는 사용자로.
일부 시스템 (Debian, unbuntu) 의 로깅하기 cron 기본적으로 활성화되어 있지 않습니다. 또는 /etc/rsyslog.d/50-default.conf /etc/rsyslog.conf 있는 선.
# cron.* /var/log/cron.log
('sudo 나노 /etc/rsyslog.conf') 주석 편집해야 할 수 있습니다.
cron.* /var/log/cron.log
그 후, 재시작하려면 통해 사이슬로그 합니다.
/etc/init.d/rsyslog restart
또는
service rsyslog restart
출처: 활성화하십시오 crontab 로그인하십시오 Debian Linux
일부 시스템에서 파일의 cron 비활성화됨 기본적으로 별도의 로깅하기 (Ubuntu) 에 출연, 하지만 cron 관련 로그는 syslog 절실해졌습니다. 한 사용할 수 있습니다.
cat /var/log/syslog | grep cron -i
cron 관련 메시지를 볼 수 있습니다.
Cron table) 은 [거절됨] (http://bazaar.launchpad.net/ ~ ubuntu-branches/ubuntu/raring/cron/raring/view/head:/database.c # L380) 는 불안한 경우 해당 사용 권한
sudo service cron restart
grep -i cron /var/log/syslog|tail -2
2013-02-05T03:47:49.283841+01:00 ubuntu cron[49906]: (user) INSECURE MODE (mode 0600 expected) (crontabs/user)
함께 이 문제를 해결할
# correct permission
sudo chmod 600 /var/spool/cron/crontabs/user
# signal crond to reload the file
sudo touch /var/spool/cron/crontabs
스크립트는 위치에 맞는. 이는 항상 있지만 절대 경로 사용) 에 관련된 스크립트입니다 아니고 마찬가지다. Cron 사용자의 작업 할 수 있는 cd '을 실행하기 전에 특정 디렉터리' 레이크 작업을 할 수 있으며, 예를 들어 응용 프로그램에 대한 올바른 응용 프로그램 레일 스크립트루트 com/go/downloads_kr 올릴 뿐 아니라 해당 데이터베이스 작업을 구성, etc.
따라서 crontab 항목이
같은 게 더 낫다
,, 코드 class = " < < pre> bash" >.
또는, 계속 crontab 엔트리여야 및 리스토어할 간단해진다는 다양하다.
다음 코드를 사용하여 user> /scripts/session-purge.sh ':' 에서 /home/<;
,, 코드 class = " < < pre> sh" >. cd /var/www/production/current /usr/bin/rake db:session_purge RAILS_ENV = 운영 < /code> < /pre>;;;
Cron 간에 서로 다른 작업 사양명세 포맷하십시오 users& # 39. crontab 파일이 (/ var / 스풀과 cron / / / / / 또는 / var / 스풀과 sername cron crontab sername) 및 시스템 crontab ('/etc/crontab' 과 '에서 파일을 /etc/cron.d').
반대로, cron 처럼 '는 오류뿐만 / usr / bin / 리스타르스리스 유효하지 않은 sername' 또는 이와 유사한 역동기화에 때 발생합니다.
cron 은 스크립트입니다 호출 명령과 함께 - verbose 옵션
전 그 날 페일오버합니다 cron 스크립트입니다 입력 중에 포함되어 있기 때문에 난 롬폭 자동모드 스크립트입니다 쉐퍼드도 - verbose 옵션:
#!/bin/bash
some commands
tar cvfz /my/archive/file.tar.gz /my/shared/directory
come more commands
Fine 에서 실행할 때 실행했음 스크립트입니다 쉘로 때문에 자세한 정보 출력을 마이그레이션된 crontab 에서 실행할 때 실패했다 에서 실행되는 경우 쉘로 곳이 있지만, stdout 에서 실행되는 경우 crontab. # 39, & # 39, v& 분리하십시오 쉽게 고칠 수:
#!/bin/bash
some commands
tar cfz /my/archive/file.tar.gz /my/shared/directory
some more commands
가장 흔한 이유는 cron 못할 것으로 잘못 밝혔다 "고 밝혔다. 오후 11:15 위한 실무 작업에 걸리는 지정할 수 있다 '' 대신 ' 23 스케줄링된 15 15 15 11' 또는 '11'. 또한 작업에 대해 안 된다 '는' 2-6 자정 이후에 요일, 월요일 ~ 금요일 자정 이후에 1-5 '아닌'. 일반적으로 특정 날짜에 문제가 아니라 우리가 ' ' 는 3일 3월 3 1 포락선으로 사용할 경우는 거의 없습니다. 잘 모르면 cron 스케줄링합니다 온라인으로 whitehouse. https://crontab.guru/. 확인하십시오.
'시간' 에서 지원되지 않는 옵션을 사용하여 같은 경우 다른 플랫폼에 작동합니까 2/3 사양명세를 장애가 발생할 수도 있습니다. 이것은 매우 유용한 옵션을 제외한 전 세계 어디서나 사용할 수 있습니다. 또한 여러 문제가 1-5 '또는' like '나는 실행하십시오 열거합니다 1.3,5'.
또 부적격 사용하여 경로에서 발생하는 문제입니다. 일반적으로 기본 경로는 '만' 그래서 /bin:/usr/bin 표준 명령을 실행할 수 있습니다. 일반적으로 이러한 디렉토리에는 don& # 39, 원하는 명령을 없다. 또한 스크립트에만 비표준 명령을 사용하여 영향을 줍니다. 다른 환경 변수를 사용할 수 없습니다.
기존 crontab 나를 완전히 빚어진 문제를 건드리지. 내가 지금 이 파일에서 데이터를 복구할 수 있는 기존 crontab 로드하십시오 복제본입니다. 'it gets "만약 사용하여 crontab 뻦 사방. 난 계속 crontab 에 ~ 이 복제본입니다 / bin. 그것은 전체에 대해 '선' # EOF 로 끝난다. 이는 다음과 같은 항목을 통해 매일 다시 로드했습니다 crontab
위에서 실행되는 명령 실행 가능한 경로에 의존하고 있는 리로드하려면 crontab 충돌 crontab. 일부 시스템은 실행 파일을 지정하는 crontab 에 명령을 할 수 있습니다. 그럼 내가 자주 사용하는 경우 $ (hostname) 는 네트워크 공유 디렉토리에는 crontab. ',' 이름으로 절실해졌습니다. 그러면 결국 잘못된 crontab 에 로드되었는지 사례가 수정하십시오 잘못된 서버.
어떻게 해야 할 수 있으며, 임시 파일을 사용하여 백업하도록 로깅합니다 crontab 편집 (crontab - 내가 사용하는 유일한 시간 'e') 에 자동으로 뺐다. 예약 매개변수입니다 그러겄지 헤더도 이용할 수 있는 도움을 받고 있습니다. 나는 그들을 crontab 편집 때 사용자 경험이 될 것이라고 덧붙였다.
나는 엘리가 명령의세 사용자 입력을 필요로 하는 경우는 드물다. 이러한 페일오버합니다 crontab 아래에 있지만, 일부 협력합니다 입력입니다 리디렉션을.
Ssh 를 통해 액세스하며 경우 계정에 로그인할 수 있는 것을 볼 수 있는 것이 아니라 에이전트에는 키 암호를 에이전트에는 잠겼음을 등의 이유로 인해 만료하고 또는 잘못된 암호란이 시도_횟수)
팜 시스템에서 사용하는 경우, 계정이 잠겨 크론조프 실행되지 이 막을 수 있다. (# 39 에 대해 이렇게 하는 것이 아니라, ve 테스트되었습니다 I& solris unbuntu)
이와 같은 메시지를 발견할 수 있습니다 / var / adm / 메시지:
< pre>; 24일 10월 07 51 00 미상자 cron [29024]: [ID 731128 오토리노이스] pam_unix_account: cron 시도중입니다 잠겨집니다 계정을 로컬에서 호스트입니다 미우저 검증하십시오 24일 10월 07 52tb 00 미상자 cron [29063]: [ID 731128 오토리노이스] pam_unix_account: cron 시도중입니다 잠겨집니다 계정을 로컬에서 호스트입니다 미우저 검증하십시오 24일 10월 07 53 00 미상자 cron [29098]: [ID 731128 오토리노이스] pam_unix_account: cron 시도중입니다 잠겨집니다 계정을 로컬에서 호스트입니다 미우저 검증하십시오 24일 10월 07 54 00 미상자 cron [29527]: [ID 731128 오토리노이스] pam_unix_account: cron 시도중입니다 잠겨집니다 계정을 로컬에서 호스트입니다 미우저 검증하십시오 < /pre>;
모든 것은 실행하십시오 해야 합니다.
< pre>;
< /pre>;
crontab 노력해야 할 수 있는 루트로 잠금해제합니다 에이전트에는, 그리고 다시.
다음과 같은 명령을 경우
* * * * * /path/to/script >> /tmp/output
또한, t, t # 39 doesn& 작동합니까 진실이며당신이 can& 볼 수 있어 출력입니다 # 39 cron isn& # 39, t apc® 반드시 의미하는 것은 아니다. # 39, 갈 수 있는 스크립트입니다 줄바꿈할 및 출력물에는 stderr doesn& 전달할 수 없다 / tmp / 출력입니다. 이 경우, t 가 아니라 # 39 이 출력입니다 확인란 isn& 캡처을.
* * * * * /path/to/script >> /tmp/output 2>&1
to see if this 문제가 잡을 수 있습니다.
I was 먹어서나 설치 쉘로 이전 트랜잭션까지 데이터베이스에서 데이터를 다른 스크립트입니다 스크립트입니다 삭제하시겠습니까 만듭니다. 작업의 일환으로 명이었지만 구성려면 매일 '자의적' 으로 실행할 경우 데이터베이스 작업에 시간이 로드하십시오 기능을 cron 은 낮음입니다.
내가 만든 마이크론조프 파일 ',' 을 (를) cron 스케줄링합니다 sername &. 명령과 복사됩니다 /etc/cron.d '대한' 디렉터리입니다. 내 두 정보:
/ Var / log / syslog 권한 문제로 '' 도 비슷한 상황이 표시됩니다.
Apr 24 18:30:01 ip-11-22-33-44 cron[40980]: (*system*) INSECURE MODE (group/other writable) (/etc/crontab)
Apr 24 18:30:01 ip-11-22-33-44 cron[40980]: (*system*) INSECURE MODE (group/other writable) (/etc/cron.d/user)
'선 () 은 첫 번째 파일과 파일 i / etc / crontab' 나중에 '에서' /etc/cront.d 했다.