기본 crontab 편집기를 변경하는 방법

crontab 실행 시 특정 텍스트 편집기를 사용하고 싶으신가요? 이 가이드에서는 crontab이 기본적으로 사용하는 편집기를 변경하는 방법을 안내합니다. Linux, macOS 및 Unix 계열 운영체제에서 적용 가능한 내용입니다.

텍스트 편집기 선택의 중요성

텍스트 편집기는 단순한 도구이지만, 사용자들은 자신이 선호하는 편집기에 깊은 애착을 가지는 경향이 있습니다. 이로 인해 편집기 전쟁까지 벌어지곤 합니다. 저희는 특정 편집기를 옹호하거나 다른 편집기를 비판하려는 의도는 없습니다. 다만 crontab에서 사용하는 기본 편집기를 사용자가 원하는 것으로 변경하는 방법을 알려드리려 합니다.

crontab -e 명령어는 cron 테이블을 편집하기 위해 텍스트 편집기를 실행합니다. cron 테이블은 정해진 시간에 실행될 작업 목록을 담고 있습니다. 이 글에서는 cron 작업 자체보다는 crontab -e와 관련된 편집기에 초점을 맞춥니다.

터미널에서 crontab -e를 처음 실행하면 사용할 편집기를 선택하라는 메시지가 나타납니다. crontab -e를 입력하고 Enter 키를 누르면 됩니다.

crontab -e

선택한 편집기는 이후 cron 테이블을 열 때 사용됩니다. 위의 예시에서는 ‘1’을 눌러 nano 편집기를 선택했습니다.

한번 메뉴에서 편집기를 선택하면, crontab -e를 실행할 때마다 해당 편집기가 사용됩니다. 만약 나중에 다른 편집기를 사용하고 싶다면 어떻게 해야 할까요? 다행히 방법은 간단합니다. 바로 select-editor 명령어를 사용하면 됩니다.

select-editor

지금까지는 아주 간단했습니다. 하지만 메뉴에 없는 편집기를 사용하고 싶거나, select-editor 명령어를 지원하지 않는 운영체제를 사용하는 경우에는 어떻게 해야 할까요? 이러한 경우에도 해결 방법이 있습니다.

select-editor가 없는 경우

.bash_profile 파일에 설정을 추가하여 crontab의 기본 편집기를 지정할 수 있습니다. 다음 명령어를 실행하여 파일을 편집합니다.

gedit ~/.bash_profile

편집기가 열리면 다음과 같은 내용을 파일에 추가합니다.

export VISUAL=”gedit”

‘gedit’ 대신 사용하고 싶은 편집기를 실행하는 명령어를 입력하면 됩니다. 파일을 저장하고 편집기를 닫은 후, 변경 사항을 적용하려면 로그아웃했다가 다시 로그인하거나, 다음 명령어를 실행합니다.

. ~/.bash_profile

위 명령어에서 점(.)은 source 명령어의 약칭으로, 동일한 기능을 수행합니다. source 명령어를 지원하지 않는 배포판도 있을 수 있지만, 점(.) 명령어는 항상 존재해야 합니다. 이 글에서 테스트한 Ubuntu, Debian, Manjaro, Arch, Fedora, CentOS 및 OpenIndiana에서는 모두 source 명령어가 존재했습니다.

점(.)을 사용하거나 source 명령어를 입력하면 .bash_profile의 설정이 현재 세션에 적용됩니다. 이제 다음과 같이 입력하면:

crontab -e

설정한 편집기가 실행되어 cron 테이블을 열게 됩니다.

.bash_profile이 비어있지 않은 경우

.bash_profile 파일을 편집할 때 비어있지 않을 수 있습니다. 이 경우에는 파일의 맨 아래로 스크롤하여 export VISUAL="gedit" 줄을 추가하면 됩니다. 다음은 Manjaro Linux의 기본 .bash_profile이며, 새로운 줄이 추가된 모습입니다.

OpenIndiana의 경우

OpenIndiana에서는 .bash_profile이 아닌 .bashrc 파일에 export VISUAL="gedit" 줄을 추가해야 합니다. 다음 명령어를 입력합니다.

pluma ~/.bashrc

해당 줄을 추가하고 파일을 저장한 뒤, 터미널 창을 닫았다가 다시 엽니다.

crontab -e 명령어를 실행하여 변경 사항이 적용되었는지 확인합니다.

crontab -e

이제 cron 테이블이 nano 편집기로 로드되는 것을 확인할 수 있습니다.

이 방법을 통해 Debian, RedHat, Arch 등 다양한 Linux 배포판은 물론 Unix 계열 시스템에서 원하는 편집기를 지정할 수 있습니다.