2017-02-15 20 views
8

Tôi tạo ra một nhiệm vụ mới trong crontab như hình dưới đây: lỗi/bin/sh: 1: Cú pháp lỗi: EOF trong thay backquote

*/2 * * * *  mongodump --db prodys --out /backup/databases/mongoDatabases/`date +"%m-%d-%y"` 

tôi nhận được như sau:

/bin/sh: 1: Syntax error: EOF in backquote substitution 

Hãy giúp đỡ, tôi không có bất kỳ đầu mối gì sai.

Trả lời

7

Vấn đề là cron xử lý % làm dòng mới. Từ crontab POSIX man page:

Percent-signs (%) in the command, unless escaped with backslash \, will be changed into newline characters, and all data after the first % will be sent to the command as standard input.

Cũng sử dụng Command Substitution cú pháp như $() so với di sản '' cú pháp như

Bạn có thể thay đổi lệnh của bạn để một cái gì đó như thế nào,

*/2 * * * *  mongodump --db prodys --out /backup/databases/mongoDatabases/$(date +'\%m-\%d-\%y') 
+0

Cảm ơn! @Inian đó cũng chính là vấn đề của tôi. – ShahNewazKhan

+0

Cảm ơn, nó giúp ích rất nhiều! –