crontab의 리디렉션으로 인해 0바이트 파일이 생성되는 이유는 무엇입니까?

crontab의 리디렉션으로 인해 0바이트 파일이 생성되는 이유는 무엇입니까?

시스템: 주분투 13.10

이 crontab 항목이 있으면

*/5 * * * * cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk

junk바이트 크기는 0.

달리기

$ cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk

적절한 크기와 내용을 가진 파일이 제공됩니다.

답변1

. 을 cron사용하여 작업을 실행하는 것은 .sh&>stderrstdoutbashsh

에서 sh명령은 다음과 같습니다.

cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk

이는 두 가지 명령을 별도로 실행하는 것을 의미합니다.

  • cat /home/dbk/.bash_aliases백그라운드에서 실행

    cat /home/dbk/.bash_aliases &

  • 정크 파일을 자릅니다.

    > /home/dbk/Desktop/junk

따라서 다음 을 사용하여 bash명령을 실행 해야 합니다 crontab.

*/5 * * * * bash -c "cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk"

또는 보다 이식성이 뛰어난 방법을 사용하십시오.

*/5 * * * * cat /home/dbk/.bash_aliases > /home/dbk/Desktop/junk 2>&1

관련 정보