나는이 crontab을 가지고 있습니다
* * * * * tar -czf /backup/$(date +%F--%T)-localusers.tgz /vagrant
이것은 작동하지 않습니다. 하지만 내가 그렇게 한다면
tar -czf /backup/$(date +%F--%T)-localusers.tgz /vagrant/
효과가있다.
무슨 일인지 아는 사람 있나요? 그런데 계속 이런 이메일이 옵니다.
N 10 (Cron Daemon) Thu Aug 23 10:43 28/1130 "Cron <root@localhost> tar -czf"
답변1
문제는 cron의 백분율 기호 처리로 인해 발생할 수 있습니다.
줄의 전체 명령 부분(개행 또는 % 문자까지)은 `/bin/sh 또는 crontab 파일의 SHELL 변수에 지정된 쉘에 의해 실행됩니다. 백슬래시()로 이스케이프하지 않는 한 명령의 백분율 기호(%)는 개행 문자로 변경되고 첫 번째 % 이후의 모든 데이터는 명령에 표준 입력으로 전송됩니다.
따라서 이스케이프해야 합니다.
* * * * * tar -czf /backup/$(date +\%F--\%T)-localusers.tgz /vagrant