ลบไฟล์แท็บ cron และต้องการกู้คืน


11

ฉันรัน crontab -r แทน crontab -e และลบไฟล์ crontab ของฉัน ฉันไม่มีข้อมูลสำรองและใหม่ในการกู้คืนไฟล์ที่ถูกลบ

เป็นไปได้ไหม

ขอบคุณ

จางไป


7
ตัวเลือกในการแก้ไขและลบไม่ควรอยู่ติดกันบนคีย์บอร์ด ความผิดพลาดง่ายเกินไปสำหรับการพิมพ์ดีดอย่างรวดเร็ว
einstiien

นั่นคือสิ่งที่เกิดขึ้นกับฉัน

คำตอบ:


9

ลองดูที่ / var / log / cron เพื่อดูว่ากำลังทำงานอะไรอยู่จากนั้นลองสร้าง crontab ขึ้นใหม่ มันยุ่ง แต่คุณควรจะสามารถกู้คืนทุกสิ่งที่เคยทำงานมาก่อน โชคไม่ค่อยดีสำหรับไอเท็มใหม่ ๆ โชคดี!


วิธีการที่ยอดเยี่ยม!
อเล็กซ์

5

ก่อนอื่น: ทำการสำรองข้อมูลเสมอ!

แต่มันเป็นเรื่องง่ายที่จะผสมขึ้นและcrontab -r crontab -eฉันเพิ่งทำสิ่งนี้ด้วยตัวเอง

นั่นคือสิ่งที่ฉันทำ:

คุณสามารถลองดูที่ / var / log / cron และสร้าง crontab ของคุณอีกครั้ง

  1. ดู logfile
  2. ใช้คำสั่งแรกและทำ grep commandname1 /var/log/cron
  3. คิดออกอย่างเป็นระบบหลังเวลาที่คำสั่งถูกเรียกใช้
  4. ใส่รายการนั้นใน crontab ใหม่ของคุณ
  5. cat /var/log/cron | grep -v commandname1ปฏิบัติ สิ่งนี้จะยกเว้น command1 ที่คุณกล่าวถึงไปแล้ว
  6. ใช้คำสั่งถัดไปและ grep มัน
  7. คิดออกอย่างเป็นระบบหลังเวลาที่คำสั่งที่สองถูกเรียกใช้
  8. ใส่รายการนั้นใน crontab ใหม่ของคุณ
  9. ปฏิบัติ cat /var/log/cron | grep -v commandname1 | grep -v commandname2
  10. ทำซ้ำจนกว่าคุณจะครอบคลุมทุกคำสั่ง

ตอนนี้คุณควรดำเนินการ grep บน cronlogs รุ่นเก่าเพื่อค้นหางานที่อาจทำงานเพียงเดือนละครั้ง


1
บน Ubuntu อย่างน้อย (ไม่แน่ใจเกี่ยวกับแพลตฟอร์มอื่น ๆ ที่ใช้ anacron / Vixie cron) /var/log/syslog/*บันทึกจะถูกเก็บไว้ใน
Timothy Gu

1
ก่อนที่คุณจะลบบางสิ่งโดยไม่ได้ตั้งใจให้สร้างข้อมูลสำรองเสมอ!
DávidHorváth

4

สคริปต์สำหรับการกู้คืน crontab แบบเต็ม

ฉันสร้างสคริปต์ PHP ที่สามารถกู้คืน crontab ของคุณได้เต็มตามบันทึก

ส่งเอาต์พุตอินสแตนซ์เดียวของทุกคำสั่ง cron ที่รันโดยผู้ใช้ในสัปดาห์ที่แล้ว

ฉันใส่ที่นี่

https://github.com/dangreenisrael/recover_crontab

นี่คือตัวอย่างเอาต์พุต:

perl ~/sorttv/sorttv.pl

/usr/local/bin/flexget

bash ~/scripts/sort_sports.sh

~/scripts/play_recently_added.sh

1
ทำไมถึงได้รับ -1 มันเป็นคำตอบสำหรับคำถามโดยตรง
Dan Green-Leipciger

ฉันใช้สคริปต์ของคุณแล้ว น่าทึ่งขอบคุณมาก!
MeV

สคริปต์ PHP ไม่ทำงานอย่างถูกต้องสำหรับคำสั่งที่มีวงเล็บปิด แก้ไขแล้วและนำไปสู่การทุบตี:zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Splitlocked

1

คุณมีตัวเลือก แต่ไม่มีใครน่ารักเป็นพิเศษ ในกรณีที่คุณไม่ได้คิดถึงมันหากคุณมีรุ่นล่าสุดในเครื่องพัฒนาคุณสามารถคัดลอกได้จากที่นั่น ... ฉันพูดเพียงเพราะฉันมักจะลืมเกี่ยวกับสำเนาที่อาจอยู่ในเครื่องอื่น ๆ ดังนั้น ฉันคิดว่าคุณได้ลองไปแล้ว

หากไฟล์ของคุณมีการปรับแต่งหนักเกินไปที่จะสร้างใหม่ให้เป็นประโยชน์จริง ๆ คุณสามารถทดลองใช้นิติเวชระดับต่ำได้เสมอ ลองใช้ googling เพื่อดูบทช่วยสอนที่มีพื้นฐานจากsleuthkitและ UFS Explorer ผู้ที่ใช้เครื่องมือเหล่านี้จะพบองศาที่แตกต่างกันอย่างกว้างขวางในแง่ของความง่ายในการใช้งานและอัตราความสำเร็จเช่นเดียวกับ YMMV


1

ฮึไม่สามารถแสดงความคิดเห็นในคำถามเดิม แต่เพื่อนร่วมงานเพียงแค่แสดงให้ฉันเห็นเป็นเครื่องมือที่ดี: ทำให้นามแฝงในสิ่งที่.profileคุณใช้สำหรับการที่จะเป็นcrontab ธงขอยืนยันก่อนที่จะลบcrontab -i-i

ดังนั้นหากคุณทำเช่นcrontab -eนั้นจะดำเนินการแก้ไขตามปกติ แต่ถ้าคุณบังเอิญcrontab -rได้รับการต้อนรับคุณจะได้รับพร้อมท์การยืนยัน


แต่นั่นไม่ได้ช่วยปัญหาทันที ...
vonbrand

0

ฉันไม่คิดอย่างนั้น ได้เวลาสำรองไฟล์สำคัญนี้แล้ว (กับคนอื่น ๆ ใน / etc / var / spool / home ... )

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