CLI에서 crontab의 제거 옵션 비활성화


13

예를 들어 특정 명령을 어떻게 비활성화 crontab -r합니까?

E키가 키 옆에 있기 때문에 실수로 두 번 실행 한 적이 R있습니다. 그 작은 오타가 충분하고 crontab이 사라졌습니다.


2
중요한 파일을 백업하는 것을 잊지 마십시오!
wjandrea

물론, @daily zip -r /home/./scripts/cronjobs-all.zip / var / spool / cron / crontabs
user66638

Mercurial 또는 Git과 같은 소스 코드 개정 제어 시스템은 스크립트 파일을 관리하고 우발적 인 변경이나 삭제를 방지하는 데에도 도움이됩니다. 둘 중 하나에 대한 원격 저장소가 필요하지 않습니다. :-)
David Foerster

답변:


16

crontab명령 주위에 래퍼를 사용하십시오. 예를 들어이 함수는 다음과 같습니다.

crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}

이 함수는 ; -r의 인수에 존재 하는지 확인합니다 crontab. 그렇다면 메시지로 종료하고 "r" not allowed, 그렇지 않으면 명령을 실행합니다.

당신에 넣어 ~/.bashrc은 모든 대화의 초기화시로드 얻을 수 bash세션.


27

나는 당신이 포함하는 것이 좋습니다

alias crontab="crontab -i"

~/.bashrc파일에 (테스트하기 전에 새로운 쉘을 시작 하십시오 !)

즉, crontab을 실행할 때마다 항상 "-i"옵션을 선택해야합니다. 이제 crontab -r명령 을 수행하면 명령이에서 처리되고 crontab -ircrontab 파일을 제거하기 전에 프롬프트됩니다.

nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.