ฉันมีเซิร์ฟเวอร์นักเทียบท่าที่ฉันต้องการสำรองข้อมูล โฟลเดอร์การปรับใช้ของฉันมีความเป็นเจ้าของและการอนุญาตที่เฉพาะเจาะจงมากในการสนับสนุนคอนเทนเนอร์ของฉัน:
$ ls -lhaF /opt/นักเทียบท่า
รวม 32K
drwxr-xr-x 7 devops devops 4.0K 23 ส.ค. 02:34 น./
drwxr-xr-x 6 รูท 4.0K 23 ส.ค. 04:20 ../
drwxrwxr-x 2 devops devops 4.0K 21 ส.ค. 00:00 น. certs/
drwxrwxr-x 2 devops devops 4.0K 23 ส.ค. 03:53 .scripts/
-rw-rw-r-- 1 devops devops 1.2K 21 ส.ค. 01:52 docker-compose.yml
drwxrwxr-x 4 1,000 1,000 4.0K 21 ส.ค. 02:05 minecraft/
drwxrwxr-x 4 devops devops 4.0K 20 ส.ค. 23:38 หลุม/
drwx------ 19 70 70 4.0K ส.ค. 19 01:31 postgres/
ฉันพยายามบีบอัดโฟลเดอร์นี้โดยใช้คำสั่งต่อไปนี้ จากสิ่งที่ฉันได้อ่านการรักษาสิทธิ์/ความเป็นเจ้าของไฟล์จำเป็นต้องทำงาน น้ำมันดิน
เป็น root/sudo:
$ sudo tar -czpf "/tmp/server-backup.tar.gz" --directory="/opt/docker"
คำสั่งนี้บีบอัดโฟลเดอร์ แต่การตรวจสอบ .tar.gz แสดงว่าเป็นเจ้าของโฟลเดอร์ทั้งหมดแล้ว:
$tar -tvf /tmp/server-backup.tar.gz
drwxr-xr-x รูท/รูท 0 2021-08-23 12:10 ./
drwxr-xr-x รูท/รูท 0 2021-08-23 12:10 ./minecraft/
-rw-r--r-- root/root 2 2021-08-23 12:10 ./minecraft/whitelist.json
-rw-r--r-- รูท/รูท 111 23/08/2021 12:10 ./minecraft/usercache.json
-rw-r--r-- รูท/รูท 1204 23-08-23 12:10 ./minecraft/server.properties
-rw-r--r-- รูท/รูท 43626592 23-08-23 23:10 ./minecraft/minecraft_server.1.17.1.jar
-rw-r--r-- รูท/รูท 68 23/08/2021 12:10 ./minecraft/eula.txt
-rw-r--r-- รูท/รูท 2 2021-08-23 12:10 ./minecraft/banned-players.json
-rw-r--r-- รูท/รูท 2 2021-08-23 12:10 ./minecraft/banned-ips.json
# - ไฟล์ minecraft อื่น ๆ
drwxr-xr-x รูท/รูท 0 2021-08-23 12:10 ./.certs/
# -- เนื้อหาของโฟลเดอร์ Certs ถูกแก้ไขแล้ว
drwx------ รูท/รูท 0 2021-08-23 12:10 ./postgres/
drwx------ รูท/รูท 0 2021-08-23 12:10 ./postgres/pg_subtrans/
-rw------- รูท/รูท 8192 23-08-23 12:10 ./postgres/pg_subtrans/0000
drwx------ รูท/รูท 0 2021-08-23 12:10 ./postgres/pg_multixact/
drwx------ รูท/รูท 0 2021-08-23 12:10 ./postgres/pg_multixact/offsets/
-rw------- รูท/รูท 8192 23-08-23 12:10 ./postgres/pg_multixact/offsets/0000
drwx------ root/root 0 2021-08-23 12:10 ./postgres/pg_multixact/members/
-rw------- รูท/รูท 8192 23-08-23 12:10 ./postgres/pg_multixact/members/0000
drwx------ รูท/รูท 0 2021-08-23 12:10 ./postgres/pg_xact/
-rw------- รูท/รูท 8192 2021-08-23 12:10 ./postgres/pg_xact/0000
# -- ไฟล์ postgres อื่น ๆ
drwxr-xr-x รูท/รูท 0 23-08-23 12:10 ./pihole/
drwxr-xr-x รูท/รูท 0 2021-08-23 12:10 ./pihole/etc-pihole/
-rw-r--r-- root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/custom.list
-rw-r--r-- ราก/ราก 5201920 23-08-23 12:10 ./pihole/etc-pihole/gravity.db
-rw-r--r-- ราก/ราก 485 2021-08-23 12:10 ./pihole/etc-pihole/setupVars.conf
-rw-r--r-- root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/setupVars.conf.update.bak
-rw-r--r-- รูท/รูท 1812161 23-08-23 12:10 ./pihole/etc-pihole/list.1.raw.githubusercontent.com.domains
-rw-r--r-- ราก/ราก 73728 23-08-23 12:10 ./pihole/etc-pihole/pihole-FTL.db
-rw-r--r-- รูท/รูท 0 23-08-23 12:10 ./pihole/etc-pihole/pihole-FTL.conf
-rw-r--r-- root/root 37 2021-08-23 12:10 ./pihole/etc-pihole/local.list
-rw-r--r-- รูท/รูท 95 23/08/2021 12:10 ./pihole/etc-pihole/list.1.raw.githubusercontent.com.domains.sha1
-rw-r--r-- root/root 20 2021-08-23 12:10 ./pihole/etc-pihole/localbranches
drwxr-xr-x root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/migration_backup/
-rw-r--r-- รูท/รูท 65 23/08/2021 12:10 ./pihole/etc-pihole/migration_backup/adlists.list
-rw-r--r-- ราก/ราก 618 23-08-23 12:10 ./pihole/etc-pihole/dns-servers.conf
-rw-r--r-- รูท/รูท 20 2021-08-23 12:10 ./pihole/etc-pihole/GitHubVersions
-rw-r--r-- รูท/รูท 44 23/08/2021 12:10 ./pihole/etc-pihole/localversions
drwxr-xr-x root/root 0 2021-08-23 12:10 ./pihole/etc-dnsmasq.d/
-rw-r--r-- root/root 1475 2021-08-23 12:10 ./pihole/etc-dnsmasq.d/01-pihole.conf
drwxr-xr-x รูท/รูท 0 2021-08-23 12:10 ./.scripts/
-rwxr-xr-x root/root 1638 2021-08-23 12:10 ./.scripts/create-backup.sh
-rwxr-xr-x รูท/รูท 511 23-08-23 12:10 ./.scripts/new-cert-pihole.sh
-rwxr-xr-x รูท/รูท 345 23-08-23 12:10 ./.scripts/fix-permissions.sh
-rw-r--r-- รูท/รูท 1170 23-08-23 12:10 ./docker-compose.yml
หากฉันพยายามแตกไฟล์ .tar.gz เราสามารถยืนยันได้ว่าความเป็นเจ้าของทั้งหมดหายไป:
$ sudo mkdir /tmp/server-backup
$ sudo tar -xzpf /tmp/server-backup.tar.gz --directory=/tmp/server-backup
$ ls -lhaF /tmp/เซิร์ฟเวอร์สำรองข้อมูล
รวม 32K
drwxr-xr-x 7 รูทรูท 4.0K 23 ส.ค. 12:10 ./
drwxrwxrwt รูท 13 รูท 4.0K 23 ส.ค. 12:16 ../
drwxr-xr-x 2 รูทรูท 4.0K 23 ส.ค. 12:10 .certs/
drwxr-xr-x 2 รูทรูท 4.0K 23 ส.ค. 12:10 .scripts/
-rw-r--r-- 1 รูทรูท 1.2K 23 ส.ค. 12:10 นักเทียบท่า-compose.yml
drwxr-xr-x 4 รูทรูท 4.0K 23 ส.ค. 12:10 minecraft/
drwxr-xr-x 4 รูทรูท 4.0K 23 ส.ค. 12:10 หลุม/
drwx------ 19 รูทรูท 4.0K 23 ส.ค. 12:10 น. postgres /
จากสิ่งที่ฉันพบ การรักษาความเป็นเจ้าของและการอนุญาตควรเป็นพฤติกรรมเริ่มต้นสำหรับ น้ำมันดิน
. มีบางอย่างที่ฉันขาดหายไปที่นี่หรือไม่? ฉันต้องการที่จะสามารถสำรองข้อมูลสถานะของเซิร์ฟเวอร์ของฉันได้โดยไม่รบกวนการเป็นเจ้าของไฟล์ที่ละเอียดอ่อนที่จำเป็นสำหรับคอนเทนเนอร์นักเทียบท่าที่ฉันเรียกใช้
ข้อมูลระบบ:
$lsb_release -d
คำอธิบาย: Ubuntu 20.04.3 LTS
$ uname -a
Linux rpi-1 5.4.0-1042-raspi #46-Ubuntu SMP PREEMPT วันศุกร์ที่ 30 กรกฎาคม 00:35:40 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux