สร้างไฟล์เก็บถาวรใหม่หนึ่งครั้งต่อนาทีโดยใช้“ crontab”


9

ฉันพยายามสร้างไฟล์ที่crontabสร้าง.tarไฟล์ใหม่ทุกนาทีทุกวันทำการโดยใช้รหัสต่อไปนี้:

*/1 * * * 1,2,3,4,5 tar -cf /home/user/Archiv/$(date +"%Y%m%d%H%M").tar /home/user/Textverarbeitung/ -P

มันใช้งานไม่ได้ ทำไม?


ฉันไม่สามารถหยุดอ่านชื่อเป็น "ทำให้ทุกนาทีเก็บถาวรโดยใช้ crontab" (นาทีเล็ก) เพราะบทความหายไป (ไม่ใช่ความผิดของ OP) ดังนั้นฉันกำลังแก้ไข
แมว

3
ทำไมคุณจะใช้*/1? ไม่เหมือนกัน*ใช่มั้ย
naught101

คำตอบ:


15

cronถือว่า%เป็นบรรทัดใหม่ คุณจำเป็นต้องใช้หนีมัน IE ใช้\%เพื่อให้ได้ตัวอักษรที่ใช้ใน%date

ดังนั้นคุณต้อง:

date +"\%Y\%m\%d\%H\%M" 

crontabหรือคุณสามารถใช้สคริปต์และใช้คำสั่งทั้งหมดในสคริปต์และเรียกสคริปต์จาก

จากman 5 crontab:

Percent-signs (%) ในคำสั่งยกเว้นยกเว้น Escape ด้วยเครื่องหมายทับขวา (\) จะถูกเปลี่ยนเป็นอักขระบรรทัดใหม่และข้อมูลทั้งหมดหลังจาก% แรกจะถูกส่งไปยังคำสั่งเป็นอินพุตมาตรฐาน ไม่มีวิธีที่จะแยกบรรทัดคำสั่งเดียวออกเป็นหลาย ๆ บรรทัดเช่นเดียวกับการตามด้วยเชลล์ "\"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.