Linux
/etc/crontab vs crontab -e
후니옹
2024. 5. 6. 02:52
- Linux의 cron은 주기적으로 작업을 실행하는 스케줄러로 사용됩니다. /etc/crontab과 crontab -e는 cron의 설정을 다루는 방식의 차이점이 있습니다.
- /etc/crontab
- 시스템 전체에 영향을 주는 cron 작업 설정이 저장됩니다.
- 누구나 읽을 수 있지만, 관리자 권한(root)이 필요해 수정하는 것은 일반 사용자에게는 권장되지 않습니다.
- 각 작업에 실행할 사용자를 지정할 수 있습니다. 예를 들면, root 사용자로 명령어를 실행하도록 설정할 수 있습니다.
- crontab -e
- 현재 로그인한 사용자의 개인 cron 작업 설정을 수정합니다.
- 다른 사용자의 crontab 설정과 독립적으로 동작합니다.
- 작업이 추가되면, 해당 사용자의 권한으로 작업이 실행됩니다.
그렇다면 어떤 crontab을 쓰는게 효과적인지?
- 개인 작업을 스케줄링 할 경우: 현재 로그인한 사용자의 권한으로 작업을 실행해야 하는 경우 crontab -e를 사용하는 것이 좋습니다. 이 방법으로 다른 사용자와 설정을 분리하여 관리할 수 있습니다.
- 시스템 전체의 작업을 스케줄링 할 경우: 시스템 전체의 작업, 특히 다른 사용자들에게도 영향을 미칠 작업이 필요한 경우, /etc/crontab 또는 /etc/cron.d/ 디렉토리 아래에 설정 파일을 추가하는 것이 좋습니다.
- 결론적으로, 사용하는 환경과 필요에 따라 적절한 방법을 선택하면 됩니다. 여러 사용자가 있는 시스템에서는 개인적인 작업은 crontab -e로, 시스템 전체 작업은 /etc/crontab 또는 /etc/cron.d/를 사용하는 것이 관리하기에 용이합니다.