restic version
restic 0.6.1 (v0.6.1-126-gb0fb95df)
تم تجميعه مع go1.8.3 في darwin / amd64
restic backup --exclude-file ~/exclude.txt ~
sftp إلى الشبكة المحلية
تخطي الملفات المطابقة للنمط الموجود في exe.txt
تم تضمين الملفات ما لم أقم بفك النمط بشكل كبير إلى النقطة التي يكون فيها النمط غامضًا جدًا.
باستخدام ملف استثناء مثل هذا:
.[^.]*
/matt/Applications
/matt/Dropbox
/matt/Downloads
/matt/VirtualBox VMs
*.vmdk
هدفي هو تخطي ملفات dotfiles وبعض المجلدات المحددة في دليل $ HOME (المسمى matt
) (ولكن ليس كل مجلد باسم "Applications" على سبيل المثال). أوه ، وأي ملفات .vmdk (يمكن أن تكون ضخمة!)
عندما خففت من الأنماط إلى هذا:
.[^.]*
Applications
Dropbox
Downloads
VirtualBox VMs
*.vmdk
لقد نجحت (بمعنى أنها تخطت المجلدات) ولكن هذا غامض للغاية ، حيث لا أريد تخطي جميع المجلدات المسماة التنزيلات ، على سبيل المثال.
ربما ما زلت لا أفهم أنماط الاستبعاد بشكل صحيح. : ابتسامة: لقد قرأت # 1005 وأعتقد أنني في حيرة من أمري إذا كانت المسارات المطلقة مطلوبة من أجل - استبعاد أو إذا كانت مسارات الريبو المطلقة مطلوبة مثل - تضمين.
تحديث: حسنًا ، يبدو أن استبدال /matt/
بـ $HOME/
نجح ، على الرغم من أنني أجد عدم الاتساق بين - استبعاد و - تضمين المسارات المطلقة غريبًا / مفاجئًا بعض الشيء.
عادةً ما يكون $HOME/blabla
هو /home/matt/blabla
أم أنك غيرت شيئًا ما على نظامك؟
تنهد ، نعم ، أنت محق تمامًا. أنماط الاستبعاد مطلقة فيما يتعلق بما تقوم بنسخه احتياطيًا:
يتطابق النمط /home/matt/*.go
مع جميع ملفات Go في منزلك عند تشغيل restic backup /home/matt
. نظرًا للطريقة التي يعمل بها أرشيفي (انظر # 549 ، قرار التصميم السيئ الذي نحتاج إلى تصحيحه) ، يتم إسقاط البادئة /home/
ومكون مسار المستوى الأعلى في اللقطة هو /matt
. لذلك للاستعادة ، ستحتاج إلى استخدام نمط التضمين /matt/*.go
لمطابقة نفس الملفات. أعلم أنه سيء ، سأقوم بتصحيحه في النهاية :)
إذن ، هذه قائمة ملف الاستبعاد المصححة لحالة الاستخدام الخاصة بك:
.[^.]*
/home/matt/Applications
/home/matt/Dropbox
/home/matt/Downloads
/home/matt/VirtualBox VMs
*.vmdk
ibib على جهاز Mac الخاص بي ، الدليل الرئيسي الخاص بي هو /Users/matt
، ولكن نظرًا لأن --include
يستخدم مسارًا مطلقًا للمستودع (مثل restic ls
يظهر) ، فقد اكتشفت أن المسار المطلق الصحيح سيكون /matt/...
.
@ fd0 آه! هذا منطقي أكثر ، شكرا للتوضيح. لذا فإن --exclude
عند استخدامه مع restic backup
هو مطلق لنظام الملفات ، و --include
(يستخدم مع restic restore
) مطلق بالنسبة للمستودع. بمعنى آخر ، الأنماط مطلقة من حيث تأتي الملفات.
شكرا جزيلا على التفسير. الآن أفهم بشكل أفضل سبب كون 549 مشكلة تريد إصلاحها. :ابتسامة:
التعليق الأكثر فائدة
تنهد ، نعم ، أنت محق تمامًا. أنماط الاستبعاد مطلقة فيما يتعلق بما تقوم بنسخه احتياطيًا:
يتطابق النمط
/home/matt/*.go
مع جميع ملفات Go في منزلك عند تشغيلrestic backup /home/matt
. نظرًا للطريقة التي يعمل بها أرشيفي (انظر # 549 ، قرار التصميم السيئ الذي نحتاج إلى تصحيحه) ، يتم إسقاط البادئة/home/
ومكون مسار المستوى الأعلى في اللقطة هو/matt
. لذلك للاستعادة ، ستحتاج إلى استخدام نمط التضمين/matt/*.go
لمطابقة نفس الملفات. أعلم أنه سيء ، سأقوم بتصحيحه في النهاية :)إذن ، هذه قائمة ملف الاستبعاد المصححة لحالة الاستخدام الخاصة بك: