ฉันมีรหัสนี้เป็น cron บนเซิร์ฟเวอร์เก่าของฉัน (เซิร์ฟเวอร์ 20.04 FF) ทำการสำรองข้อมูลโดยใช้ ssh และ openssl
tar -cpzf /backup/backup.tar.gz --one-file-system ; openssl enc -pbkdf2 -aes-256-cbc -pass ไฟล์:/root/pass -in /backup/backup.tar.gz -out /backup/backup.tar.gz.enc ; rsync -a /backup/backup.tar.gz.enc [email protected]:/home/admin
ฉันทำเครื่องเหล่านั้นหายโดยไม่ตั้งใจ และตอนนี้กำลังพยายามกู้คืนจากข้อมูลสำรองของฉัน ไม่มีปัญหากับ OpenSSL แต่ฉันไม่สามารถกู้คืนข้อมูลสำรองได้ ลองรหัสนี้:
sudo tar -zxvpf /recovery/backup.tar.gz -C /restore --numeric-owner
มันให้:
`gzip: stdin: ไม่ได้อยู่ในรูปแบบ gzip
tar: เด็กส่งคืนสถานะ 1
tar: ข้อผิดพลาดไม่สามารถกู้คืนได้: ออกทันที
ใช้คำสั่ง "ไฟล์" ฉันมี
/recovery/backup.tar.gz: ข้อมูล
มันเลยไม่เห็นว่ามันเป็น gzip
การใช้ "น้อย" ฉันเห็นว่ามันเป็นเลขฐานสอง
ฉันลองโดยไม่มี "-z" ก็ไม่มีผล
ถ้าไฟล์เสียหายระหว่างการถ่ายโอน ฉันคงไม่ถอดรหัสมันในเครื่องสำรองข้อมูล ฉันคิดว่า อย่างไรก็ตาม นั่นคือรหัสถอดรหัส:
openssl enc -d -pbkdf2 -aes-256-cbc -pass ไฟล์:/root/pass -in /home/user/backup.tar.gz.enc -out /recovery/backup.tar.gz
ใครมีข้อเสนอแนะที่จะแก้ปัญหาหรือไม่?