ฉันทำงานให้กับบริษัทที่มีเซิร์ฟเวอร์ Ubuntu 18.04 หลายเครื่องกระจายอยู่ทั่วสหรัฐอเมริกาที่ใช้ซอฟต์แวร์ของเราเอง ลูกค้าของเราใช้หน่วยนี้สองสามวันต่อสัปดาห์และเวลาที่เหลือจะไม่ได้ใช้งานและ (ปกติ) ปิดเครื่อง นับตั้งแต่เปิดตัว เราพบปัญหาที่พบไม่บ่อยนี้ ซึ่งเครื่องจะบู๊ตเป็นหน้าจอว่างเปล่า โชคดีที่เราสามารถแก้ไขปัญหานี้ด้วยตนเองจากระยะไกลได้ แต่มันก็สร้างความรำคาญใจ ในที่สุดฉันก็ติดตามสคริปต์การอัปเดตซอฟต์แวร์นี้:
wget -O /home/user/update.tar.gz.gpg www.website.com/001001002.tar.gz.gpg
gpg --batch --passphrase รหัสผ่านลับ -o /home/user/update.tar.gz -d /home/user/update.tar.gz.gpg
cp /var/softwareName/etc/config.cfg /home/user/config.backup
rm -r /var/softwareName/bin
rm -r /var/softwareName/ฯลฯ
rm -r /var/softwareName/setup
rm -r /var/softwareName/static
tar -C /var/softwareName/ -zxvf /home/user/update.tar.gz
cp /home/user/config.backup /var/softwareName/etc/config.cfg
rm /home/user/update.tar.gz.gpg
rm /home/user/update.tar.gz
rm /home/user/config.backup
systemctl รีสตาร์ท softwareName.service
systemctl รีสตาร์ท kiosk.service
หากมีการติดตั้งการอัปเดต จากนั้นดึงสายไฟที่ตัวเครื่องภายใน ~30 วินาที ไฟล์ทั้งหมดที่อยู่ในไดเร็กทอรี "bin", "etc", "setup" และ "static" จะว่างเปล่า ไฟล์ทั้งหมดที่ควรอยู่ที่นั่น มันว่างเปล่า
สิ่งที่ทำให้ฉันสับสนจริงๆ คือซอฟต์แวร์ที่อัปเดตจะโหลดทันทีหลังจากสคริปต์ทำงาน และมันก็ใช้ได้ดี
ฉันได้ทำการทดสอบโดยการเรียกใช้สคริปต์ทีละส่วน และฉัน คิด ฉันทำให้มันแคบลงไป
tar -C /var/softwareName/ -zxvf /home/user/update.tar.gz
ไม่มีใครมีความคิดว่าเนื้อหาของไฟล์ถูกลบอย่างไร?