ฉันกำลังพยายามสำรองข้อมูลระบบปฏิบัติการด้วย rsync และใส่สิ่งนี้ลงใน crontab ซึ่งโดยตัวมันเองใช้งานได้ดี แต่ด้วยเหตุผลบางอย่าง มันปฏิเสธที่จะนำเข้าบัญชี /export ในขณะที่ดูการยกเว้น...
0 2 * * 0 rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*"," /mnt/*","/media/*","/lost+found","/export/*"} /media/backup-disk/server-backup/ >/dev/null 2>&1
ไม่รวมโฟลเดอร์อื่นทั้งหมดจากการสำรองข้อมูล
เหตุผลทั่วไปที่ฉันต้องการยกเว้นสิ่งนี้ /ส่งออก/*
เกิดจากการที่ดิสก์สำรองข้อมูลนี้ถูกเมานต์เป็นการผูกกับ /export เนื่องจากการแบ่งปัน nfs ของดิสก์ไปยังเซิร์ฟเวอร์ระยะไกล
เนื่องจากข้อเท็จจริงที่ว่าได้แก่ /ส่งออก/*
ฉันจบลงด้วยการที่ดิสก์ของฉันเต็มเนื่องจากการวนซ้ำใน rsync ของฉันขณะที่มันเริ่มสำรองข้อมูลดิสก์ด้วยตัวเอง (/export/backup-disk/ -> /media/backup-disk/server-backup)
การเมานต์ /media/backup-disk ของฉันเพื่อส่งออกมีดังต่อไปนี้ /etc/fstab
:
/media/backup-disk /export/backup-disk ไม่มีการผูก 0 0
ดังนั้นคำถามทั่วไปของฉันคือทำไมจึงรวมถึง /ส่งออก/*
ขณะที่อยู่ในตัวเลือกการยกเว้นของ rsync และฉันจะแก้ไขได้อย่างไร
แก้ไข:
ผลลัพธ์ของการรันแบบแห้งด้วย --stats --progress (โดยไม่ต้องเปลี่ยนเส้นทาง stout en stin ไปที่ /dev/null):
sudo rsync -aAXv --stats --progress / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*" ,"/mnt/*","/media/*","/lost+found","/export/*"} /media/backup-disk/test/ > /media/backup-disk/test.txt
แมว /media/backup-disk/test.txt | grep -A1 ส่งออก/
ส่งออก/
บ้าน/
--
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/__init__.py
9,060 100% 38.98kB/s 0:00:00 (xfr#17141, ir-chk=1174/22834)
home/user/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/day.py
12,609 100% 54.24kB/s 0:00:00 (xfr#17142, ir-chk=1173/22834)
home/user/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/export_custom_job.py
12,034 100% 51.77kB/s 0:00:00 (xfr#17143, ir-chk=1172/22834)
home/user/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/job.py
8,970 100% 38.59kB/s 0:00:00 (xfr#17144, ir-chk=1171/22834)
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/__pycache__/
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/__pycache__/__init__.cpython-38.pyc
8,809 100% 37.90kB/s 0:00:00 (xfr#17145, ir-chk=1169/22834)
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/__pycache__/day.cpython-38.pyc
12,206 100% 52.28kB/s 0:00:00 (xfr#17146, ir-chk=1168/22834)
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/__pycache__/export_custom_job.cpython-38.pyc
11,859 100% 50.79kB/s 0:00:00 (xfr#17147, ir-chk=1167/22834)
หน้าแรก/ผู้ใช้/.local/lib/python3.8/site-packages/twilio/rest/bulkexports/v1/export/__pycache__/job.cpython-38.pyc
9,302 100% 39.84kB/s 0:00:00 (xfr#17148, ir-chk=1166/22834)
...
สิ่งนี้บ่งชี้ว่าไม่รวมการส่งออก แต่ถึงกระนั้นฉันก็ยังพบว่าดิสก์ของฉันเต็มทุกครั้งที่ cron ทำงานเพราะมันยังคงคัดลอกสิ่งที่อยู่ภายใน /export ไปยังไดเร็กทอรีสำรองข้อมูลเซิร์ฟเวอร์ของฉัน...
อีกสิ่งหนึ่งที่ฉันลืมพูดถึงในที่นี้คือในตอนแรกฉันคิดว่ามันอาจเป็นเรื่องของการลืม /ส่งออก/*
ตอนแรกเพิ่มในภายหลังใน cron แต่ลืมที่จะรีบูต (ดังนั้นจึงไม่มีการรีบูตตามกำหนดการของ cron) แต่ถึงแม้จะรีบูต แต่ก็ยังสามารถคัดลอกได้ /ส่งออก/*
กับครอน ดูเหมือนจะงี่เง่าเล็กน้อยที่จะต้องรีบูตเนื่องจากควรจะสามารถจัดการการแก้ไข cron ทุกครั้งที่ต้องเรียกใช้คำสั่งจาก cron แต่ต้องการให้แน่ใจว่าจะไม่ได้รับการแก้ไขหลังจากรีบูต ...