cron 파일을 수동으로 편집하는 것이 좋지 않습니까?


12

일반적으로 명령 행을 통해 새로운 cron 작업을 도입하도록 지시됩니다. 하지만 (현재 cron 작업을보다 잘 제어하여) 사용자 cron 파일과 같이 수동으로 (텍스트 편집기에서) 편집하는 것이 더 쉽다는 것을 알았습니다 /var/spool/cron/crontabs/root.

텍스트 편집기에서 파일을 편집하는 것이 위험합니까?

기본 파일의 주석이 혼동됩니다. 첫 번째 줄은

# DO NOT EDIT THIS FILE - edit the master and reinstall.

그러나 네 번째 줄은

# Edit this file to introduce tasks to be run by cron.

2
왜 /etc/cron.d에 물건을 넣지 않습니까?
Zoredache

좋은 생각이 될 수 있습니다. 그러나 편집 할 파일을 의미하지는 않았습니다. 편집기로 파일을 편집하거나 crontab 명령을 실행하고 있습니다.
Googlebot

@All 유일한 차이점은 crontab-e의 구문 검사입니다. 구문 검사 기능이있는 텍스트 버퍼 일뿐입니다. 일반적인 편집기를 변경하면 crontab-e가로드됩니다. xyntax의 중요성은 실수를하면 모든 파일이 무시되기 때문입니다. 외부 도구를 사용하더라도 crontab-e를 사용하여 파일을 읽고 완료되면 crontab-e로 다시 보내야합니다. 그렇게하면 더 이상 구문에 대해 걱정할 필요가 없습니다. 사용자 및 시스템 작업에서 파일을 분할하는 것이 좋으므로 사용자 / 테스트 작업에는 더 나은 /etc/cron.d를 사용해야합니다.
m3nda 2016 년

답변:


22

crontabs에서 사용자 파일을 수정하면 작동합니다. 그러나 고려해야 할 두 가지 문제가 있습니다.

  1. 파일에서 cron 항목을 잘못 입력하면 crontab -e명령 사용에 대한 경고 메시지가 표시되지 않습니다 .
  2. 루트로 로그인하거나 sudo를 사용하지 않고 crontabs에서 사용자 파일을 직접 편집 할 수 없습니다. 권한 거부 오류가 발생합니다.

편집하다

추가 할 점이 하나 더 있습니다. 파일을 직접 편집 할 때 파일을 두 번 열면 (두 명의 사용자가 동일한 파일에 액세스하는 경우) 텍스트 편집기에 경고 메시지가 표시 될 수 있습니다. 그러나 crontab -e동일한 사용자의 두 개의 다른 쉘 세션에서 사용할 때 cron 목록을 겹쳐 씁니다 . 이것은 또 다른 차이점입니다.


매우 미묘한 포인트! 나는 항상 루트로 일하면서 두 번째 문제에 직면하지 않았습니다.
Googlebot

4
또한 기본 파일의 "편집 안 함"은 업그레이드 / 재설치가 해당 파일을 덮어 쓸 수 있기 때문입니다.
Chris S

crontab을 편집하는 사용자가 crontab -e제공 하는 santax 검사를 직접 잃는다는 언급은하지 않았습니다 .
Adam F

1
@AdamF : 이것이 1 지점의 이야기입니다!
Khaled

8

올바르게 이해하면 crontab -e를 사용하고 싶지 않기 때문에 텍스트 편집기로 파일을 수동으로 편집하고 있습니다. vi를 편집기로 사용하고 있기 때문에 익숙하지 않기 때문일 것입니다.

crontab -e (및 편집기가 필요한 기타 항목)를 변경하여보다 친숙한 나노 편집기를 실행합니다.

export EDITOR=nano

전에

crontab -e

~ / .bash_profile 파일을 편집하여 nano를 영구 기본 편집기로 만들 수 있습니다 export EDITOR=nano.

질문에 대답하려면 파일을 모르는 경우 덮어 쓸 수 있으므로 파일을 직접 편집해서는 안됩니다. 네 번째 줄은 crontab에서 수동으로 편집해야한다는 내용이므로 첫 번째 줄이라고 말합니다.


설명 답장을 보내 주셔서 감사합니다. crontab 명령 vi 편집기에 완전히 익숙합니다. 하지만 리눅스 데스크탑에서 서버에 직접 연결하기 때문에 gedit (ssh 터미널이 아닌)을 사용합니다.
Googlebot

또한 ssh에 로그인 할 때마다 작성되지 않도록 export EDITOR 명령을 bashrc 파일에 추가하는 것이 좋습니다.
m3nda

1
export VISUAL=vi

이것은 crontab의 편집기를 변경하는 올바른 방법입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.