restic version
restic 0.7.3
تم تجميعه باستخدام go1.9 على نظام Linux / amd64
انظر الى التفاصيل بالاسفل
العميل: Debian Stable (9.2)
الخادم: خادم FreeBSD 11.1 في الشبكة المحلية باستخدام OpenSSH (OpenSSH_7.2p2 ، OpenSSL 1.0.2k-freebsd 26 يناير 2017)
يجب إنشاء جميع الدلائل بالأذونات والملكية الأصلية ، حتى لو استعدت الملفات الموجودة في عمق التسلسل الهرمي.
عند استعادة الملفات الموجودة في أعماق التسلسل الهرمي ، تتم استعادة الدلائل الموجودة في الطريق إلى أسفل بمستخدم مختلف وإذن مختلف كما هو الحال في الأصل.
mkdir testdir # إنشاء دليل
المس testdir / testfile # قم بإنشاء ملف فيه
chmod 755 testdir testdir / testfile # اجعل shure الأذونات 755
su # التبديل إلى الجذر
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest backup testdir # عمل النسخة الاحتياطية
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest استعادة أحدث -t testrestore -i testfile # استعادة الملف (وليس الدليل بأكمله)
ls -lR testrestore # يتم استعادة الملف مع المالك والأذونات الصحيحة. لكن الدلائل في طريقها إلى الملف تتم استعادتها باستخدام "الجذر" للمستخدم والأذونات 700.
تستريستور /:
إنجسمت 4
drwx ------ 2 جذر 4096 Okt 31 21:30 testdirتستريستور / تستدير:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 Okt 31 21:25 testfile
أعتقد أن الدلائل الموجودة على الطريق لا يتم "استعادتها" ولكن "تم إنشاؤها" باستخدام "إعدادات افتراضية آمنة".
استعادة الدلائل الفارغة بدلاً من مجرد إنشائها.
شكرا على رفع هذا الموضوع. لست متأكدًا من تعيين حقوق الوصول السابقة على الدلائل الوسيطة بالطريقة الصحيحة إلى الأمام ، دعني أفكر في هذا قليلاً.
أي أفكار أخرى في هذا الشأن؟
بالنسبة لي ، يبدو هذا بالتأكيد خطأ / مشكلة في وظيفة الاستعادة. إذا كنت أقوم باستعادة البيانات التي كانت في الأصل تخص بعض المستخدمين في دليل يمكن لهذا المستخدم الوصول إليه ، أتوقع أن يتمكن هذا المستخدم من الوصول إلى البيانات المستعادة ، حتى لو تمت استعادة جزء منها فقط. تبدو استعادة سمات الدليل (المالك / الوصول / إلخ) طريقة طبيعية لتحقيق ذلك.
أيضًا ، يُنظر إلى السلوك الحالي على أنه "نصف استعادة" لهذه الأدلة الوسيطة (تمت استعادة وجودها ، لكن سماتها ليست كذلك) ، والتي تبدو غير متسقة / غير منطقية.
أظن أن هذه حشرة. إذا كنت أرغب في استعادة جزء من نسخة احتياطية ، فيجب أن تكون النسخة المستعادة قابلة للاستخدام. حاليًا ، لا يمكن استخدامه دون إجراء عمليات restic ls لاكتشاف الأذونات والمالك والمجموعة المناسبة لكل عنصر مسار تم إنشاؤه تلقائيًا. إنه يجعل استعادة الملفات / الدلائل أمرًا صعبًا حقًا.
أوافق على أن ما يتم استعادته بواسطة restic يجب استعادته بطريقة متسقة (أي ، إما بأذونات "افتراضية" للمستخدم الذي يقوم بتشغيل الاستعادة ، أو بالأذونات وما إلى ذلك من الملفات والمجلدات الأصلية التي تم نسخها احتياطيًا ، وليس مزيج من الاثنين).
ومع ذلك ، يمكنني رؤية حالة استخدام في كلا النوعين من الأذونات:
أعتقد أن الطريقة المعقولة للمضي قدمًا هي أنه يمكن للمرء التحكم في الملكية و / أو الأذونات التي تستعيدها بعض الخيارات (الخيارات) لأمر الاستعادة.
هل يمكن لأي شخص أن يؤكد أنه لا يزال يمثل مشكلة؟ منذ إصدار 0.7.3 ، أجرينا بعض التغييرات على معالجة الإذن (والطابع الزمني) للأدلة الوسيطة ...
التعليق الأكثر فائدة
بالنسبة لي ، يبدو هذا بالتأكيد خطأ / مشكلة في وظيفة الاستعادة. إذا كنت أقوم باستعادة البيانات التي كانت في الأصل تخص بعض المستخدمين في دليل يمكن لهذا المستخدم الوصول إليه ، أتوقع أن يتمكن هذا المستخدم من الوصول إلى البيانات المستعادة ، حتى لو تمت استعادة جزء منها فقط. تبدو استعادة سمات الدليل (المالك / الوصول / إلخ) طريقة طبيعية لتحقيق ذلك.
أيضًا ، يُنظر إلى السلوك الحالي على أنه "نصف استعادة" لهذه الأدلة الوسيطة (تمت استعادة وجودها ، لكن سماتها ليست كذلك) ، والتي تبدو غير متسقة / غير منطقية.