การสำรองข้อมูลไดเรกทอรี Linux ที่จำเป็นด้วย 5 วิธี

ไดเรกทอรีของ Linux จัดระเบียบข้อมูลสำคัญของระบบและผู้ใช้ในลำดับชั้นที่ชัดเจน บทความนี้แสดงให้เห็นว่าโฟลเดอร์ใดควรสำรองข้อมูล และอธิบาย 5 วิธีที่ใช้งานได้จริง โดยใช้ cp, tar, rsync, scp และเครื่องมืออัตโนมัติ เพื่อปกป้องข้อมูลของคุณ

download-icon
ดาวน์โหลดฟรี
สำหรับ VM, OS, DB, ไฟล์, NAS, ฯลฯ
offroad-seachua

Updated by ออฟโรด แซ่ฉั่ว on 2025/12/08

สารบัญ
  • คุณควรสำรองข้อมูลไดเรกทอรีใดบ้าง?

  • วิธีที่ 1 การสำรองข้อมูลไดเรกทอรี Linux ด้วย Cp

  • วิธีที่ 2 สำรองข้อมูลไดเรกทอรี Linux ด้วย Tar

  • วิธีที่ 3 สำรองไดเรกทอรี Linux ด้วย Rsync

  • วิธีที่ 4 สำรองไดเรกทอรี Linux ด้วย Scp

  • วิธีที่ 5 สำรองและกู้คืนไฟล์/โฟลเดอร์/เซิร์ฟเวอร์ Linux

  • คำถามที่พบบ่อยเกี่ยวกับการสำรองข้อมูลไดเรกทอรีใน 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 โหมด ได้แก่ การคัดลอกไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง การคัดลอกไฟล์หลายไฟล์ไปยังไดเรกทอรี และการคัดลอกไดเรกทอรีไปยังที่อื่น

ตัวเลือก:

ParameterDescription
--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

ตัวเลือก:

ParameterDescription
-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

เลือกเซิร์ฟเวอร์ 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 ได้

แชร์บน:

Categories: Linux Backup