Ubuntu 16.04 LTS를 새로 설치하여 사용하고 있습니다.
내가 입력할 때마다:
sudo crontab -e
또는
sudo -u www-data crontab -e
이 명령은 숫자만 인쇄하고 그 외에는 아무것도 인쇄하지 않습니다. 아무리 없애려고 해도 그럴 수 없습니다.
질문
- 먼저 위 명령을 어떻게 종료합니까? 난 그냥 붙어있어.
- 명령이 crontab 항목을 표시하지 않는 이유는 무엇입니까?
- 위 명령으로 crontab 항목을 표시하려면 어떻게 해야 합니까?
편집하다
저는 vim.basic 편집기를 선택했습니다:
sudo update-alternatives --config editor
하지만 빈 인쇄하면 echo $EDITOR
.
또한
crontab -e
-> 잘 작동합니다
sudo -u www-data crontab -e
. -> 위와 같이 멈춥니다.
답변1
기본 편집기가 설정되어 있지 않고 기본값이 ed
.
실행하면 얻을 수 있는 것:
env | egrep 'EDITOR|VISUAL'
sudo env | egrep 'EDITOR|VISUAL'
sudo -u www-data env | egrep 'EDITOR|VISUAL'
종료 방법은 ed
다음을 입력하는 것입니다.q
↵ Return
다른 편집기를 설정하려면 다음을 수행할 수 있습니다.
sudo -u www-data EDITOR=$EDITOR crontab -e
답변2
먼저 위 명령을 어떻게 종료합니까? 난 그냥 붙어있어.
어떤 편집기를 사용하고 있는지 알 수 없습니다. Esc :q
(vim), Ctrl-x
(nano), Ctrl-x Ctrl-c
(emacs) 또는 q
( )를 시도해 보세요 ed
.
- 명령을 실행
select-editor
하고 사용하려는 편집기를 선택하십시오. - 대안: 환경 변수
EDITOR
나VISUAL
선호하는 편집기를 설정하십시오.
예:export EDITOR=emacs
emacs 또는export EDITOR=nano
nano 사용. - 그런 다음
crontab -e
crontab 편집을 실행하십시오. crontab -l
crontab의 내용을 표시 하는 데 사용됩니다.
답변3
다음 명령을 적용했습니다.
# Interactive way
update-alternatives --config editor
# And choose 3 (vim.basic)
# Non Interactive way
sudo update-alternatives --set editor /usr/bin/vim.basic
# Verify as
sudo update-alternatives --query editor
또는 이를 추가 ~/.bashrc
하거나 ~/.bash_profile
보관하고 다시 로드하여 변경 사항을 반영할 수 있습니다.
export VISUAL=vim
export EDITOR="$VISUAL"
www-data
사용자의 crontab 에는 다음을 사용합니다.
sudo crontab -u www-data -e
이로써 문제가 해결되었습니다.
답변4
crontab -e를 사용하지 마십시오
- 시스템, 계정 및 세션이 어떻게 구성되어 있는지 정확히 알지 못하면 다음에 무슨 일이 일어날지 알 수 없습니다.
- 이 중 하나를 변경하면 다른 일이 발생합니다
- 조작할 수 있는 편집기에서 crontab을 열더라도 변경 사항을 취소하는 것은 까다로울 수 있습니다.
대신 crontab을 임시 파일에 작성하고 원하는 편집기를 사용하여 파일을 다시 cron으로 가져옵니다.
$ crontab -l >mycron
$ vi mycron
$ crontab <mycron
(또한 www-data 사용자로 cron 작업을 실행하지 말 것을 강력히 권장합니다)