บทนำ
ตอนนี้คุณมีเซิร์ฟเวอร์ Linux ที่ตั้งค่าไว้อย่างสมบูรณ์บน Vultr แล้วคุณต้องเลือกโซลูชันสำรองสำหรับมัน GNU tar
เป็นตัวเลือกที่ดีมาก - เชื่อถือได้และทำให้ง่ายในการสำรองและกู้คืนเซิร์ฟเวอร์
ไวยากรณ์พื้นฐาน
Tar ใช้ไวยากรณ์ต่อไปนี้
sudo /usr/bin/tar -czpvf /home/john/backup/linux_backup.tar.gz /
-c
: เอกสารเก่า
-z
: ใช้รูปแบบ GZip เพื่อสำรองข้อมูล GZip นั้นเร็ว แต่มันจะสร้างไฟล์ขนาดใหญ่กว่าเครื่องมือบีบอัดอื่น ๆ
-p
: สงวนสิทธิ์เพื่อที่เมื่อคุณกู้คืนข้อมูลสำรองคุณจะไม่พบปัญหาสิทธิ์
-v
: แสดงรายละเอียดระหว่างการสำรองข้อมูล งดเว้น-v
หากคุณไม่ต้องการเห็นผลลัพธ์แบบละเอียด
-f
: ระบุตำแหน่งที่จะเก็บไฟล์ tar ที่นี่เราบันทึกแฟ้มสำรองข้อมูลไปยังไดเรกทอรีภายใต้ผู้ใช้ไดเรกทอรีบ้านของจอห์นและชื่อbackup
linux_backup.tar.gz
/
: ระบบไฟล์รูท Linux นี่หมายถึงการสำรองข้อมูลดิสก์ทั้งหมดรวมถึงไดรฟ์ที่ติดตั้งทั้งหมดดังนั้นโปรดระวังอย่าแยกโฟลเดอร์หรือไฟล์ที่คุณไม่ต้องการสำรองข้อมูลด้วยexcluded.txt
(อธิบายไว้ด้านล่าง)
การเพิ่มประสิทธิภาพ
ยกเว้นไฟล์ที่คุณไม่ต้องการให้สำรอง (หรือต้องการ)
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup.tar.gz /
ใช้--exclude-from=/home/john/exclude.txt
เพื่อระบุการแยกในไฟล์ exclude.txt
ตัวอย่างจะถูกวางไว้ด้านล่าง
/home/john/backup/*
/tmp/*
/proc/*
/dev/*
/sys/*
/run/*
/var/tmp/*
/var/run/*
/var/lock/*
/usr/portage/*
/usr/src/*
ในตัวอย่างนี้ฉันแยกออกไม่/home/john/backup/*
เช่นนั้นการสำรองข้อมูลครั้งแรกจะรวมอยู่ในการสำรองข้อมูลครั้งที่สองเป็นต้น
ในทุกระบบ Linux, /tmp/*
, /proc/*
, /dev/*
, /sys/*
และ/run/*
มีการสร้างแบบไดนามิกเพื่อให้คุณไม่จำเป็นต้องรวมไว้ในการสำรองข้อมูล แต่คุณจำเป็นต้องเก็บโครงสร้างไดเรกทอรี ดังนั้นคุณจำเป็นต้องใช้/proc/*
ในเมื่อเทียบกับexcluded.txt
/proc
คุณสามารถเพิ่มไฟล์และโฟลเดอร์อื่น ๆ ที่คุณไม่ต้องการสำรองข้อมูล ในตัวอย่างข้างต้นผมได้รวมและ/usr/portage/*
/usr/src/*
เหล่านี้เป็น Gentoo Linux โดยเฉพาะ อันแรกบรรจุแพคเกจของ Gentoo และแหล่งที่มา อันที่สองประกอบด้วย Gentoo Linux kernel kernel มีขนาดใหญ่และสามารถดาวน์โหลดได้อีกครั้งหลังจากการกู้คืนระบบ อย่าลังเลที่จะแก้ไขexcluded.txt
เพื่อให้เหมาะกับความต้องการของคุณ
เพิ่มวันที่ปัจจุบันเป็นชื่อของการสำรองข้อมูล
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.gz /
ด้วย$(date +%F-%H-%M)
วันที่ปัจจุบันชั่วโมงและนาทีจะถูกเพิ่มลงในชื่อไฟล์สำรอง ตัวอย่างเช่นlinux_backup-2015-07-02-15-22.tar.gz
.
ใช้โปรแกรมบีบอัดที่ดีกว่า GZip อื่น
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz /
-J
สวิทช์สามารถแทนที่-z
การใช้xzสำหรับการบีบอัด tar.xz
นอกจากนี้ยังมีการเปลี่ยนแปลงส่วนขยาย Xz ช้ากว่า GZip แต่มีอัตราส่วนการบีบอัดที่ดีกว่ามากซึ่งส่งผลให้ไฟล์สำรองมีขนาดเล็กลง
วางทุกอย่างในเชลล์สคริปต์
สร้างสคริปต์
vim /home/john/bin/linux_backup.sh
รวมรหัสต่อไปนี้ในสคริปต์
#!bin/sh
_tarfile=/home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf $ /
ให้สิทธิ์ดำเนินการสคริปต์
sudo chmod +x /home/john/bin/linux_backup.sh
ทำการสำรองข้อมูล
/home/john/bin/linux_backup.sh