일부 명령 및 Perl 스크립트를 사용하는 Cron 문제

일부 명령 및 Perl 스크립트를 사용하는 Cron 문제

나는 내 문제에 대한 해결책을 찾기 위해 몇 시간 동안 인터넷을 검색해 왔지만 내가 잘못하고 있는 것에 대한 대답이나 해결책을 찾을 수 없는 것 같습니다. Perl 스크립트를 주기적으로 실행하기 위해 cron을 설정하려고 합니다. 저는 Windows 10 호스트에서 실행되는 Oracle VM Virtualbox 5.2.26에서 Ubuntu 18.04.3 LTS를 가상 머신으로 사용하고 있습니다.

Perl 스크립트 실행에 성공하지 못했기 때문에 내가 뭘 잘못하고 있는지 테스트하기 위해 다른 명령을 실행해 보았습니다. /usr/bin/ 경로에 있는 많은 명령을 실행하는 데 문제가 있습니다. 나는 "echo"와 "printf"를 할 수 있었지만 그게 전부입니다. 다음은 내 코드와 각 줄에서 받은 오류 메시지입니다("echo "$PATH"" 줄은 제대로 작동하는 것 같습니다).

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/myname/Alpha/ATK_queries
SHELL=/bin/bash
[email protected]
2 * * * * /usr/bin/env
2 * * * * env
2 * * * * echo "$PATH"
2 * * * * perl atk_queries.pl
2 * * * * /usr/bin/perl /home/myname/Alpha/ATK_queries/atk_queries.pl
2 * * * * perl /home/myname/Alpha/ATK_queries/atk_queries.pl

명령 시퀀스에 대한 출력/오류:

(1) /bin/bash: /usr/bin/env: 해당 파일이나 디렉터리가 없습니다.

(2) /bin/bash: $'env\r': 명령을 찾을 수 없습니다

(3) /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/myname/Alpha/ATK_queries

(4) Perl 스크립트 "atk_queries.pl"을 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다

(5) Perl 스크립트 "/home/derek/Alpha/ATK_queries/atk_queries.pl"을 열 수 없습니다: 해당 파일 또는 디렉터리가 없습니다.

(6) Perl 스크립트 "/home/derek/Alpha/ATK_queries/atk_queries.pl"을 열 수 없습니다: 해당 파일 또는 디렉터리가 없습니다.

어떤 지침이라도 대단히 감사하겠습니다.

답변1

분명히 문제는 Windows 프로그램인 Notepad++에서 crontab 파일을 수정하는 것과 관련이 있습니다. Haxiel의 의견에 따르면 명령 자체 내에서 \r 캐리지 리턴을 수행하는 것이 약간 이상합니다.

crontab -e를 통해 파일을 수정하고, crontab 내용을 삭제하고, 정확히 동일한 텍스트로 바꾸고, 파일을 DOS가 아닌 파일로 저장하면 Perl 스크립트뿐만 아니라 모든 명령이 성공적으로 실행되었습니다.

관련 정보