내 crontab에서 잘못된 사용자 이름 오류가 발생하는 이유는 무엇입니까?

내 crontab에서 잘못된 사용자 이름 오류가 발생하는 이유는 무엇입니까?

디렉토리를 압축하여 백업으로 복사하려고 합니다. 저는 Linux를 처음 접했기 때문에 최선을 다해 가이드를 따랐지만 시도할 때

systemctl status cron

다음 오류가 발생합니다.

Apr 27 13:34:01 mc-server cron[950]: Error: bad username; while reading /etc/crontab

자체적으로 명령을 실행하면 예상대로 작동합니다(3분 타이머는 테스트 목적으로만 사용됨).

이것은 완전한 crontab입니다:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
# You can also override PATH, but by default, newer versions inherit it from the environment
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*/3 *   * * *   root    zip -r -q /mnt/truenas/Ozone/Backup_$(TZ="Europe/Berlin" date "+%A_%d.%m.%y_%H;%M").zip /home/rexor/mcserver
#

답변1

에서 man 5 crontab:

"여섯 번째" 필드(줄의 나머지 부분)는 실행할 명령을 지정합니다. 줄의 전체 명령 부분(개행 또는 % 문자까지)은 /bin/sh 또는 crontab 파일의 SHELL 변수에 지정된 쉘에 의해 실행됩니다. 백슬래시(\)로 이스케이프하지 않는 한 명령의 퍼센트 기호(%)는 개행 문자로 변경되고 첫 번째 % 이후의 모든 데이터는 명령에 표준 입력으로 전송됩니다. 단일 명령줄은 셸의 후행 "\"처럼 여러 줄로 분할될 수 없습니다.

왜 위의 오류가 발생하는지 잘 모르겠지만 명령에서 "%"를 이스케이프 처리하여 도움이 되는지 확인하세요.

*/3 *   * * *   root    zip -r -q /mnt/truenas/Ozone/Backup_$(TZ="Europe/Berlin" date "+\%A_\%d.\%m.\%y_\%H;\%M").zip /home/rexor/mcserver

관련 정보