ฉันกำลังพยายามรับวันที่ที่ผ่านมาในงาน cron โดยใช้สิ่งนี้ แต่ วันที่
ตัวแปรจะว่างเปล่าเสมอ
DATE=วันที่ -d "$วันที่ -1 วัน -1 เดือน" +%Y-%m
* * * * * /bin/echo "วันที่: $($DATE) ทดสอบ" >> /tmp/crontab.log 2>&1
ฉันรู้ว่า crontab ยุ่งยากแค่ไหนต้องขอบคุณ คำถามนี้ ด้วยคำตอบที่ดี แต่ปัญหาที่นี่ดูเหมือนจะไม่ใช่ %
ลงชื่อ เนื่องจากรหัสด้านบนใช้งานได้ดี:
DATE=วันที่ -d @2147483647 +%Y-%m
* * * * * /bin/echo "วันที่: $($DATE) ทดสอบ" >> /tmp/crontab.log 2>&1
แต่ถ้าผมใช้ quotes แล้วงานกลับไม่ได้วันที่
DATE=วันที่ -d"@2147483647" +%Y-%m
* * * * * /bin/echo "วันที่: $($DATE) ทดสอบ" >> /tmp/crontab.log 2>&1
ฉันพยายามแทนที่เครื่องหมายคำพูดด้วยเครื่องหมายคำพูดเดี่ยว เครื่องหมายคำพูดคู่ การหลีกเลี่ยงเครื่องหมายคำพูด แต่ไม่มีตัวเลือกใดที่แก้ปัญหาได้ และฉันต้องการใบเสนอราคาเพื่อระบุ "$วันที่ -1 วัน -1 เดือน"
ส่วนหนึ่ง. มีวิธีการทำเช่นนี้ใน crontab โดยไม่ต้องสร้างสคริปต์ภายนอกหรือไม่?
CentOS 7 และ crontab (cronie-1.4.11-23.el7.x86_64)