내 crontab에는 "data"라는 파일을 "Archive"라는 기존 디렉터리에 복사하고 날짜 스탬프를 추가하는 다음 명령이 있습니다. 명령줄에서 수동으로 실행하면 제대로 작동합니다.
01 0 * * * cp /home/data /home/Archive/data.$(date +%F)
그러나 cron이 (동일한 사용자로) 위 명령을 실행하면 파일이 복사되지 않고 다음 오류가 발생합니다.
cp:0653-437 2018은 디렉토리가 아닙니다
답변1
쉘 문제일 수도 있습니다. 실행되는 스크립트에 이 명령을 넣어보세요.
#!/bin/bash
스크립트를 수동으로 실행하여 작동하는지 확인한 다음 cron에서 실행해 보세요.
답변2
문제는 그러한 디렉토리가 없다는 것일 수 있습니다. 이 oneliner는 디렉토리 생성을 처리합니다.
01 0 * * * export NEWDIR=/home/Archive/data.$(date +%F) ; mkdir -p "$NEWDIR"; cp /home/data "$NEWDIR"