-
คุณควรสำรองข้อมูลไดเรกทอรีใดบ้าง?
-
วิธีที่ 1 การสำรองข้อมูลไดเรกทอรี Linux ด้วย Cp
-
วิธีที่ 2 สำรองข้อมูลไดเรกทอรี Linux ด้วย Tar
-
วิธีที่ 3 สำรองไดเรกทอรี Linux ด้วย Rsync
-
วิธีที่ 4 สำรองไดเรกทอรี Linux ด้วย Scp
-
วิธีที่ 5 สำรองและกู้คืนไฟล์/โฟลเดอร์/เซิร์ฟเวอร์ Linux
-
คำถามที่พบบ่อยเกี่ยวกับการสำรองข้อมูลไดเรกทอรีใน Linux
-
สรุป
ใน Linux ไดเรกทอรีมีบทบาทสำคัญในการจัดระเบียบและจัดการไฟล์และข้อมูลบนระบบ โดยโครงสร้างไดเรกทอรีจะเป็นพื้นฐานของระบบแฟ้มข้อมูล Linux ซึ่งจัดระเบียบไฟล์และไดเรกทอรีแบบลำดับชั้น
นอกจากนี้ แอปพลิเคชันและบริการของ Linux จำนวนมากยังขึ้นอยู่กับไดเรกทอรีและไฟล์เฉพาะภายในโครงสร้างไดเรกทอรีของ Linux ตัวอย่างเช่น ไฟล์กำหนดค่าสำหรับแอปพลิเคชันมักจะจัดเก็บอยู่ในไดเรกทอรีเฉพาะ และบันทึกระบบมักจะจัดเก็บไว้ในตำแหน่งกลาง ส่วนบางครั้ง คุณอาจต้องปรับปรุงโครงสร้างระบบไฟล์หลัก

ถึงแม้ว่าคุณจะสามารถสำรองข้อมูลลินุกซ์ไปยังปลายทางหลายจุดได้ แต่ต้องสำรองข้อมูลไดเรกทอรี Linux ที่สำคัญบางส่วน นอกเหนือจากการสำรองข้อมูลเซิร์ฟเวอร์ทั้งเครื่อง
แต่เดี๋ยวก่อน คุณต้องรู้ว่าไดเรกทอรีใดบ้างที่ควรลองสำรองข้อมูล ในบทความนี้ คุณจะได้รู้จักไดเรกทอรีใน Linux ที่ควรสำรองข้อมูล และวิธีการ 5 วิธีในการทำเช่นนั้น
คุณควรสำรองข้อมูลไดเรกทอรีใดบ้าง?
/etc: เก็บไฟล์การตั้งค่าสำคัญของระบบ รวมถึงข้อมูลผู้ใช้และกลุ่ม การตั้งค่าเครือข่าย การตั้งค่าแอปพลิเคชัน และไฟล์เริ่มต้นการทำงาน โดยไม่มีไฟล์เหล่านี้ การกู้คืนระบบหลังจากเกิดการหยุดทำงานหรือความล้มเหลวจะเป็นไปได้ยากและใช้เวลานาน การมีสำเนาข้อมูลของ /etc จึงมีความสำคัญอย่างยิ่ง เพื่อหลีกเลี่ยงการต้องติดตั้งระบบและแอปพลิเคชันใหม่ทั้งหมดตั้งแต่เริ่มต้น
/home: ข้อมูลผู้ใช้ ไฟล์ เอกสาร รูปภาพ และการดาวน์โหลด จะถูกจัดเก็บไว้ในไดเรกทอรี /home ภายใต้ชื่อของผู้ใช้ การสำรองข้อมูลไดเรกทอรีนี้เป็นสิ่งสำคัญมาก เนื่องจากเป็นไดเรกทอรีที่สำคัญที่สุดสำหรับผู้ใช้
/root: การสำรองข้อมูลไดเรกทอรีโฮมของผู้ใช้รูทมีความสำคัญอย่างยิ่ง เนื่องจากมีข้อมูลสำคัญและไม่ซ้ำใคร เช่น ไฟล์ที่ดาวน์โหลด การตั้งค่า สคริปต์ และบันทึกต่างๆ ที่จำเป็นต่อผู้ดูแลระบบ
/var: เก็บไฟล์ต่างๆ เช่น ฐานข้อมูล เว็บเพจ บันทึกการทำงาน crontabs และอื่นๆ อีกมากมาย มีการเติบโตทุกวันและต้องการพื้นที่จัดเก็บและดิสก์แยกเฉพาะของตัวเอง
/usr/local/bin: อาจว่างหรือมีสคริปต์และแอปพลิเคชันที่ไม่ได้มาตรฐาน หากว่างควรสร้างไฟล์เปล่า (/usr/local/bin/empty) เพื่อหลีกเลี่ยงความสับสนในการสำรองข้อมูล
/usr/local/sbin: เช่นเดียวกัน /usr/local/sbin ก็มีความสำคัญและมักจะว่างเปล่า สามารถเพิ่มไฟล์ว่าง (/usr/local/sbin/empty) ลงในไดเรกทอรีนี้เพื่อบ่งชี้สถานะของมัน
/srv: ใช้สำหรับไฟล์บริการที่เกี่ยวข้องกับอินเทอร์เน็ต เช่น การอัปโหลด WWW ไฟล์ FTP และ CVS แต่อาจว่างอยู่ได้ การใช้งานนั้นไม่แน่นอนและพบได้น้อย
/opt: สำหรับซอฟต์แวร์ของบุคคลที่สามหรือซอฟต์แวร์แยกต่างหาก มีประโยชน์สำหรับการทดสอบซอฟต์แวร์ใหม่ จะมีการเพิ่มไฟล์ว่าง (opt/empty) หากว่างเปล่า
ไดเรกทอรีที่แชร์: อาจเกี่ยวข้องกับ /finance, /data หรือ /hr ที่มีสิทธิ์พิเศษสำหรับกลุ่มเฉพาะ ต้องทำการสำรองข้อมูลเนื่องจากอาจมีข้อมูลบริษัทที่ไม่ซ้ำใคร สร้างไดเรกทอรีเหล่านี้เฉพาะเมื่อจำเป็นเท่านั้น
วิธีที่ 1 การสำรองข้อมูลไดเรกทอรี Linux ด้วย Cp
คำสั่ง Cp (คัดลอก) ใช้สำหรับคัดลอกไฟล์หรือไดเรกทอรี โดยมีโหมดการทำงานหลัก 3 โหมด ได้แก่ การคัดลอกไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง การคัดลอกไฟล์หลายไฟล์ไปยังไดเรกทอรี และการคัดลอกไดเรกทอรีไปยังที่อื่น
ตัวเลือก:
| Parameter | Description |
|---|---|
| --archive, -a | รักษาคุณลักษณะและสิทธิ์การเข้าถึงของไฟล์และไดเรกทอรีไว้ระหว่างกระบวนการคัดลอก |
| -attributes-only | คัดลอกเฉพาะแอตทริบิวต์ของไฟล์เท่านั้น |
| --backup[=CONTROL] | สำรองไฟล์ปลายทางปัจจุบันทั้งหมด |
| --copy-contents | คัดลอกเนื้อหาของไฟล์พิเศษแบบเรียกซ้ำ |
| --force, -f | ลบและลองเปิดไฟล์ปลายทางที่มีอยู่อีกครั้ง เว้นแต่จะใช้ธง -n |
| --interactive, -i | ยืนยันก่อนที่จะเขียนทับ -n flag ก่อนหน้า |
| --preserve[=ATTR_LIST] | รักษาแอตทริบิวต์ที่รวมไว้ |
| --remove-destination | ลบไฟล์ปลายทางปัจจุบันทั้งหมดก่อนที่จะเปิด |
| --symbolic-link, -s | สร้างลิงก์เชิงสัญลักษณ์ |
| --suffix=SUFFIX, -S | แทนที่คำต่อท้ายสำรอง |
| --help | แสดงเมนูช่วยเหลือแล้วสิ้นสุดการทำงาน |
1. คัดลอกไดเรกทอรีพร้อมเนื้อหาทั้งหมดไปยังไดเรกทอรีอื่น
cp -r <sourceDirectory> <destinationDirectory>
2. สำรองไฟล์ที่มีอยู่ในไดเรกทอรีปลายทาง
cp --backup <filename> <destinationDirectory>
3. คัดลอกไดเรกทอรีหลายรายการบน Linux
$ cp -R <source_folder_1> <source_folder_2> ... <source_folder_n> <destination_folder>
4. คัดลอกไดเรกทอรี /etc และ home
$ cp -R /etc/* /home/* /backup_folder
5. คัดลอกเนื้อหาของไดเรกทอรีแบบวนซ้ำ
$ cp -R <source_folder>/* <destination_folder>
วิธีที่ 2 สำรองข้อมูลไดเรกทอรี Linux ด้วย Tar
Tar (tape archive) บีบอัดไฟล์และไดเรกทอรีให้เป็น tarball และสร้างการสำรองข้อมูลด้วยรูปแบบ tar, gzip และ bzip
ตัวเลือก:
| Parameter | Description |
|---|---|
| -c | สร้างไฟล์เก็บแบบ tar |
| -x | แยกข้อมูลจากไฟล์เก็บรูปแบบ tar |
| -t | แสดงรายการไฟล์ที่อยู่ภายในไฟล์เก็บข้อมูล tar |
| -r | เพิ่มไฟล์เพิ่มเติมในนามบัตร tar |
| -w | ตรวจสอบอุปกรณ์เก็บข้อมูลรูปแบบ tar |
| -z | สร้างไฟล์เก็บแบบ tar โดยใช้ gzip |
| -j | สร้างไฟล์เก็บข้อมูล tar โดยใช้ bzip |
| -v | แสดงข้อมูลโดยละเอียด |
| -f | ระบุชื่อไฟล์เก็บถาวร |
1. สร้างไฟล์เก็บแบบ tar จากไดเรกทอรี
tar -cf archive_name.tar source_dir
2. สร้างไฟล์เก็บข้อมูลรูปแบบ bz2 จากไดเรกทอรี /etc
tar -cjf archive_name.bz2 /etc
3. สร้างไฟล์เก็บถาวร tar.gz จากไดเรกทอรี /user
tar -czf archive.name.tar.gz /use
4. แยกไฟล์เก็บแบบ tar
tar -tvf archive_name.tar
5. แยกไฟล์เก็บแบบ tar gzip
tar -xzvf archive.name.tar.gz
6. แยกไฟล์เก็บแบบ tar bz2
tar -xjvf archive.name.tar.bz2
7. แยกไฟล์เก็บถาวร tar ไปยังไดเรกทอรีอื่น
tar -xvf ชื่อ_ไฟล์_เก็บข้อมูล_tar -C / ไดเรกทอรีปลายทาง
วิธีที่ 3 สำรองไดเรกทอรี Linux ด้วย Rsync
Rsync เป็นเครื่องมือสำหรับการคัดลอกไฟล์จากระยะไกล ซึ่งสามารถใช้งานได้ทั้งแบบแยกเดี่ยวหรือผสานไว้ในสคริปต์ bash มันถูกนำไปใช้โดยอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) หลายประเภท และมอบความยืดหยุ่นให้กับผู้ดูแลระบบ Linux ในการดำเนินการสำรองข้อมูลเกือบทุกประเภทที่ต้องการ
คุณสามารถสำรองข้อมูลทั้งระบบ ไฟล์เดี่ยว หรือไดเรกทอรีโดยใช้ยูทิลิตี้ที่อิงระบบลินุกซ์นี้
ตัวเลือก:
| พารามิเตอร์ | คำอธิบาย |
| -a | ทำให้กระบวนการคัดลอกดำเนินการแบบรีเคอร์ซีฟ และรักษาแอตทริบิวต์ เช่น สิทธิ์การเข้าถึงไฟล์/ไดเรกทอรี และการเป็นเจ้าของไว้ |
- v โหมดแสดงรายละเอียดจะเพิ่มจำนวนบันทึกที่พิมพ์ในเทอร์มินัล- x
จำกัด rsync ให้ซิงค์ข้อมูลเฉพาะภายในขอบเขตของระบบไฟล์ โดยไม่รวมการติดตั้ง (mounts) ใดๆ ที่อยู่ในไดเรกทอรีบ้าน-p
แสดงความคืบหน้าของการซิงค์แต่ละครั้ง และรักษาไฟล์ที่ถูกถ่ายโอนเพียงบางส่วนไว้ หากการถ่ายโอนถูกขัดจังหวะใช้ด้วยความระมัดระวัง
| --delete | ลบไดเรกทอรีหรือไฟล์ใด ๆ ในไดเรกทอรีปลายทางที่ไม่มีอยู่ในไดเรกทอรีต้นทาง ใช้ด้วยความระมัดระวัง |
| --exclude-from=File | ยกเว้นไฟล์และไดเรกทอรีที่ระบุไว้ |
ไปที่เว็บไซต์ Rsync เพื่อดูตัวเลือกทั้งหมด
1. ติดตั้ง Rsync
sudo apt-get install rsync -y
เริ่มต้นและเปิดใช้งาน Rsync
sudo systemctl start rsync
sudo systemctl enable rsync
2. สำรองข้อมูลไดเรกทอรี $HOME ไปยังไดรฟ์ภายนอก
$ rsync -avxP --delete --exclude-from=/files/to/be/ignored_list.txt /home/external/drive/location
หมายเหตุ: เพิ่ม -n หลัง -avxP เพื่อทำการจำลองการทำงานก่อน หากคุณใช้ Rsync เป็นครั้งแรก ให้ลบออกหากคำสั่งทำงานตามที่คาดหวังแล้วรันคำสั่งโดยไม่มี -n เพื่อสำรองข้อมูล
3. คัดลอกไดเรกทอรี Linux ไปยังโฮสต์ระยะไกล
$ rsync -ar <source_folder> <destination_user>@<destination_host>:<path>
4. คัดลอกไดเรกทอรี /etc/ ไปยังเซิร์ฟเวอร์สำรองข้อมูล
$ rsync -ar /etcusername@xxx.xxx.xxx.xx:/etc_backup
5. ระบุข้อมูลปัจจุบันเมื่อสำรองไดเรกทอรีด้วย bash
$ rsync -ar /etc/* username@xxx.xxx.xxx.xx:/etc_backup /etc_$(date "+%F")
วิธีที่ 4 สำรองไดเรกทอรี Linux ด้วย Scp
Scp (secure copy) ใช้สำหรับคัดลอกไฟล์ผ่านการเชื่อมต่อ ssh หรือผ่านการเชื่อมต่อแบบเข้ารหัส คุณสามารถใช้มันเพื่อคัดลอกไฟล์จากและไปยังคอมพิวเตอร์ระยะไกลไปยังระบบของคุณ และจากคอมพิวเตอร์ระยะไกลเครื่องหนึ่งไปยังอีกเครื่องหนึ่งบน Linux, Mac และ Windows
1. คัดลอกไดเรกทอรี Linux ไปยังตำแหน่งระยะไกล
$ scp -r <source_folder> <destination_user>@<destination_host>:<path>
2. คัดลอกไฟล์ทั้งหมดในโฟลเดอร์บ้านไปยังโฟลเดอร์ระยะไกล เพิ่ม -r เพื่อคัดลอกไฟล์แบบเรียกซ้ำ
scp /home/user/html/* username@server:/path/to/folder/
3. คัดลอกไดเรกทอรี /etc ไปยังเซิร์ฟเวอร์สำรอง
$ scp -r /etc username@xxx.xxx.xxx.xx:/etc_backup
วิธีที่ 5 สำรองและกู้คืนไฟล์/โฟลเดอร์/เซิร์ฟเวอร์ Linux
คุณสามารถสำรองข้อมูลและกู้คืนไฟล์ ไดเรกทอรี และ เซิร์ฟเวอร์สำหรับ Linux กับ Windows โดยใช้โปรแกรม Vinchin Backup & Recovery ซึ่งมีความยืดหยุ่นสูงและรองรับระบบปฏิบัติการ Lunux หลักๆ เช่น Ubuntu, RHEL, CentOS, การจำลองเสมือน 15 แบบขึ้นไป เช่น VMware, Hyper-V, Xen, ฐานข้อมูล 6 ประเภท, และ NAS ซึ่งมีคุณสมบัติต่อไปนี้
ขั้นตอนการสำรองและกู้คืนที่ง่ายขึ้นพร้อมกำหนดเวลาอัตโนมัติ
เลือกไฟล์หรือโฟลเดอร์หนึ่งรายการขึ้นไปสำหรับการสำรองข้อมูล
แยกประเภทไฟล์ออกหรือรวมประเภทไฟล์ด้วยไวด์การ์ด
สำรองไฟล์/โฟลเดอร์/เซิร์ฟเวอร์ ไปยัง NAS ทั้งหมดภายใต้โปรโตคอล CIFS และ NFS
เปิดใช้งานการเข้ารหัสข้อมูลด้วยอัลกอริทึม AES-256
กู้คืนข้อมูลได้อย่างง่ายดายไปยัง NAS Share/เซิร์ฟเวอร์ไฟล์ภายใต้การถ่ายโอนที่เข้ารหัส
คุณสามารถสร้างงานสำรองข้อมูลได้อย่างง่ายดายในเว็บคอนโซลที่ใช้งานง่าย
1. เลือกเซิร์ฟเวอร์ Linux

2. เลือกที่จัดเก็บข้อมูลสำรอง

3. เลือกกลยุทธ์การสำรองข้อมูล

4. ส่งงาน

ดาวน์โหลดรุ่นทดลองใช้งานฟรี 60 วันของ Vinchin Backup & Recovery เพื่อการสำรองข้อมูลและกู้คืนระบบ Linux อย่างสมบูรณ์ได้ทันที
คำถามที่พบบ่อยเกี่ยวกับการสำรองข้อมูลไดเรกทอรีใน Linux
Q1. จะรักษาสิทธิ์การใช้งานไฟล์ไว้ได้อย่างไรเมื่อสำรองข้อมูลไดเรกทอรี?
A1. ใช้ rsync -a หรือ tar -cp เพื่อรักษาสิทธิ์การเป็นเจ้าของ สิทธิ์การเข้าถึง ACLs และคุณลักษณะเพิ่มเติมระหว่างการสำรองข้อมูล
Q2. ผมจะยกเว้นไดเรกทอรีระบบแบบไดนามิกจากการสำรองข้อมูลได้อย่างไร?
A2. ใช้รูปแบบการยกเว้น เช่น --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* เพื่อข้ามระบบไฟล์เสมือนและระบบไฟล์ที่ทำงานชั่วคราว ป้องกันการสำรองข้อมูลที่ไม่จำเป็น
Q3. ผมจะสำรองข้อมูลส่วนหัว LUKS เพื่อใช้ในการกู้คืนภัยพิบัติอย่างไร?
A3. ใช้ cryptsetup luksHeaderBackup --header-backup-file <file> <device> เพื่อจัดเก็บสำเนาไบนารีของส่วนหัว LUKS และคีย์สล็อตไว้อย่างปลอดภัย
สรุป
การสร้างสำเนาข้อมูลของโฟลเดอร์หรือไดเรกทอรีที่สำคัญเฉพาะเจาะจงใน Linux มีความสำคัญมาก บทความนี้ให้รายละเอียดเกี่ยวกับไดเรกทอรีที่จำเป็นใน Linux ที่ควรสำรองข้อมูล และวิธีการ 5 วิธีในการทำเช่นนั้น โดย 4 วิธีแรกเกี่ยวข้องกับคำสั่งบรรทัดและผู้ใช้สามารถเรียกใช้ได้ทั้งภายในระบบหรือหลังจากการติดตั้ง หรือคุณสามารถใช้ Vinchin Backup & Recovery เพื่อสำรองและกู้คืนไฟล์/โฟลเดอร์/เซิร์ฟเวอร์ที่สำคัญทั้งหมดใน Linux และ Windows ได้
แชร์บน: