تم تسميته سابقًا اسم RESYSTEMD-AUTOMATIC-BACKUP
بما في ذلك كبار المساهمين:
RESTIC هي أداة سطر الأوامر لصنع النسخ الاحتياطية ، والطريقة الصحيحة. تحقق من الموقع الرسمي للحصول على تفسير ميزة. كوجود خلفية للتخزين ، أوصي Backblaze B2 لأن RESTIC تعمل بشكل جيد معها ، وهي (في وقت كتابة هذا التقرير) في متناول الجميع للمتسللين! (قصصية: أدفع مقابل النسخ الاحتياطية الخاصة بالأنظمة الكاملة كل شهر <1 دولار أمريكي).
لسوء الحظ ، لا يأتي Restic مسبقًا مع طريقة لتشغيل النسخ الاحتياطية الآلية ، على سبيل المثال كل يوم. ومع ذلك ، من الممكن إعداد هذا بنفسك باستخدام أدوات مدمجة في نظام التشغيل الخاص بك وبعض الأغلفة. بالنسبة إلى Linux مع SystemD ، من المريح استخدام أجهزة ضبط الوقت SystemD. بالنسبة لأنظمة MacOS ، يمكننا استخدام عمليات الإطلاق المدمجة. بالنسبة لنظام التشغيل Windows ، يمكننا استخدام مهام ScheduledTsks. أي نظام تشغيل له شيء يشبه كرون سيعمل أيضًا!
يتبع هنا تعليميًا خطوة بخطوة حول كيفية إعداده ، من خلال نموذج البرنامج النصي والتكوينات التي يمكنك تعديلها لتناسب احتياجاتك.
ملاحظة ، يمكنك استخدام الخلفية التخزين المدعومة من أي RESTIC. يجب أن يكون الإعداد متشابهًا ، ولكن سيتعين عليك استخدام متغيرات التكوين الأخرى لمطابقة الواجهة الخلفية الخاصة بك.
تحديث: هذا المشروع مكتمل (انظر التفكير أدناه). سيتم قبول إصلاحات الأخطاء فقط. لا تتردد في شوكة إذا كنت ترغب في إضافة المزيد من الميزات ؛ كونه قاعدة forking كان النطاق الأولي لهذا المشروع!
لا يكون نطاق هذا هو الحل الفائق الكامل الذي يحل جميع المشكلات وجميع الإعدادات الممكنة. الهدف هو أن تكون قاعدة رمز قابلة للاختراق لبدء خياطة حل النسخ الاحتياطي المثالي الذي يناسب متطلباتك!
ومع ذلك ، يجب أن يعمل المشروع خارج المربع ، وأن يكون الحد الأدنى ولكن لا يزال يفتح الأبواب للتكوين والتمديدات من قبل المستخدمين.
لاستخدام الواجهة الخلفية للتخزين المختلفة عن B2 ، يجب أن تحتاج فقط إلى تعديل بعض المتغيرات في ملف تعريف النسخ الاحتياطي بالإضافة إلى بعض الوسائط المتزايدة داخل restic_backup.sh .
☝ لاحظ أن إعداد Linux هنا سيتحمل التثبيت على / .
تستخدم العديد من توزيعات Linux في الوقت الحاضر SystemD ، والتي تتميز بدعم جيد للخدمات الجارية والوظائف المجدولة. إذا لم يكن التوزيع الخاص بك على SystemD ، تحقق من إعداد CRON بدلاً من ذلك.
TL ؛ DR Setup
make : $ sudo make install-systemd$ yay -S restic-automatic-backup-scheduler/etc/restic .restic(1) . جميع الأوامر بعد ذلك تفترض أن الملف الشخصي مصادر في القشرة الحالية. # source /etc/restic/default.env.sh
# restic initOnCalendar في /usr/lib/systemd/system/[email protected] .# systemctl enable --now [email protected]# journalctl -f --lines=50 -u restic-backup@default# restic snapshots# systemctl enable --now [email protected]default.env.sh واستخدم اسم الملف الشخصي المحدد default من تشغيل النسخ الاحتياطية أو تمكين الموقتات. لاحظ أن القيمة بعد @ تعمل كمعلمة. # systemctl enable restic-backup@other_profile.timer ☝ لاحظ أن إعداد MacOS هنا سيتحمل تثبيت Homebrew إلى الموقع الافتراضي الموصى به. هذا هو $HOMEBREW_PREFIX ( brew --prefix ) ، وهو /usr/local على Intel Macs و /opt/homebrew على Apple Silicon.
LaunchD هو جدولة الخدمة المدمجة الحديثة في MacOS. لديها دعم لتشغيل الخدمات كجذر (الخفي) أو كمستخدم عادي (وكيل). هنا قمنا بإعداد عملية إطلاق لتشغيلها كمستخدم عادي لبدء النسخ الاحتياطية العادية.
TL ؛ DR Setup
$ brew install erikw/tap/restic-automatic-backup-schedulermake : $ make PREFIX=$(brew --prefix) install-launchagent$(brew --prefix)/etc/restic .restic(1) . جميع الأوامر بعد ذلك تفترض أن الملف الشخصي مصادر في القشرة الحالية. $ source $(brew --prefix)/etc/restic/default.env.sh
$ restic initOnCalendar في~/Library/LaunchAgents/homebrew.mxcl.restic-automatic-backup-scheduler.plist .make التثبيت: ~/Library/LaunchAgents/com.github.erikw.restic-backup.plist .$ brew services start restic-automatic-backup-schedulermake التثبيت: $ launchctl bootstrap gui/ $UID ~ /Library/LaunchAgents/com.github.erikw.restic-backup.plist
$ launchctl enable gui/ $UID /com.github.erikw.restic-backup
$ launchctl kickstart -p gui/ $UID /com.github.erikw.restic-backup$ make activate-launchagent-backup .$ tail -f ~ /Library/Logs/restic/backup *$ restic snapshots$ brew services start restic-automatic-backup-scheduler-checkmake التثبيت: $ launchctl bootstrap gui/ $UID ~ /Library/LaunchAgents/com.github.erikw.restic-check.plist
$ launchctl enable gui/ $UID /com.github.erikw.restic-check
$ launchctl kickstart -p gui/ $UID /com.github.erikw.restic-check$ make activate-launchagent-check .ثم تحكم في الخدمة مع homebrew:
$ brew services start restic-automatic-backup-scheduler
$ brew services restart restic-automatic-backup-scheduler
$ brew services stop restic-automatic-backup-scheduler إذا services start فشلت ، فقد يكون ذلك بسبب تثبيت الإصدار السابق. في هذه الحالة ، قم بإزالة الإصدار الحالي وحاول مرة أخرى:
$ launchctl bootout gui/ $UID /com.github.erikw.restic-backup
$ brew services start restic-automatic-backup-scheduler استخدم الأمر disable لإيقاف الوكيل مؤقتًا ، أو bootout لإلغاء تثبيته.
$ launchctl disable gui/$UID/com.github.erikw.restic-backup
$ launchctl bootout gui/$UID/com.github.erikw.restic-backup
إذا قمت بتحديث ملف .plist ، فأنت بحاجة إلى إصدار bootout تليها bootrstrap enable التواصل الفرعي من launchctl . سيضمن ذلك إعادة تحميل الملف بشكل صحيح.
يأتي Windows مع جدولة مهام مدمجة تسمى ScheduledTask. تطبيق الواجهة الأمامية هو "جدولة المهام" ( taskschd.msc ) ويمكننا استخدام أوامر PowerShell لتثبيت مهمة مجدولة جديدة.
أصف هنا إحدى الطرق التي يمكنك من خلالها الحصول على RECENT و NCREPT الاحتياطية التي تعمل على Windows. اخترت هنا العمل مع scoop و git-bash .
TL ؛ DR Setup
pwsh لتكون قادرة على تشغيل PowerShell في البرامج النصية Shebang. powershell> scoop install restic make git pwsh powershell> git-bash
git-bash$ mkdir ~/src && cd ~/src/
git-bash$ git clone https://github.com/erikw/restic-automatic-backup-scheduler.git && cd $(basename "$_" .git) git-bash$ make install-schedtask/etc/restic . git-bash$ vim /etc/restic/*default.env.sh يمكن أن يكون لديك export RESTIC_BACKUP_PATHS= ' /c/Users/<username>/My Documents 'restic(1) . جميع الأوامر بعد ذلك تفترض أن الملف الشخصي مصادر في القشرة الحالية. git-bash$ source /etc/restic/default.env.sh
git-bash$ restic init git-bash$ restic_backup.sh git-bash$ restic snapshotstaskschd.msc )restic_backup وانقر فوق "تشغيل".make install-schedtask : ما عليك سوى إغلاقها وابدأها مرة أخرى في التحديث.restic_backup.sh ، وفي المرة التالية التي يتم فيها ضرب الجدول الزمني المكون! باستخدام taskschd.msc ، يمكنك بسهولة البدء وإيقاف وحذف وتكوين المهام المجدولة حسب رغبتك:
☝ لاحظ أن هناك العديد من تطبيقات CRON المختلفة هناك وأنها جميعها تعمل بشكل مختلف قليلاً.
يمكن لأي نظام له نظام يشبه كرون إعداد نسخ احتياطية RESTIC بسهولة أيضًا. ومع ذلك ، إذا كنت تدعم أي من الإعدادات السابقة ، فسيتم التوصية بها على CRON لأنها توفر المزيد من الميزات والموثوقية للنسخ الاحتياطية الخاصة بك.
TL ؛ DR Setup
$ sudo make install-cron/etc/cron.d/ . إذا لم يكن الأمر كذلك ، فما عليك سوى نسخ المحتويات ذات الصلة من المثبتة /etc/cron.d/restic إلى /etc/crontab . # grep " ^@.*restic_ " /etc/cron.d/restic >> /etc/crontab/etc/restic .restic(1) . جميع الأوامر بعد ذلك تفترض أن الملف الشخصي مصادر في القشرة الحالية. # source /etc/restic/default.env.sh
# restic init # restic_backup.sh# restic snapshots/etc/cron.d/restic (أو /etc/crontab ).
هذا تفسير أكثر تفصيلاً من أقسام TL ؛ DR أعلاه والتي ستمنحك المزيد من الفهم في الإعداد. هذا القسم أكثر عمومية ، ولكنه يستخدم Linux + SystemD كإعداد المثال.
$ git clone https://github.com/erikw/restic-automatic-backup-scheduler.git && cd $( basename " $_ " .git )قم بإجراء عملية بحث سريعة في ملفات المصدر:
$ find bin etc usr Library ScheduledTask -type f -exec sed -i.bak -e ' s|{{ INSTALL_PREFIX }}||g ' {} ; -exec rm {}.bak ;ويجب أن ترى الآن أن جميع الملفات قد تم تغييرها مثل EG
- export RESTIC_PASSWORD_FILE="{{ INSTALL_PREFIX }}/etc/restic/pw.txt"
+ export RESTIC_PASSWORD_FILE="/etc/restic/pw.txt" لماذا؟ تستخدم إعدادات OS TL ؛ DR الخاصة بـ DR قبل كل شيء Makefile أو Manager Package لتثبيت هذه الملفات. تقع سلسلة العناصر النائمة {{ INSTALL_PREFIX }} في الملفات المصدر لأسباب قابلية النقل ، بحيث يمكن لـ Makefile دعم جميع أنظمة التشغيل المختلفة. يمكن make تعيين $PREFIX مختلفة عند التثبيت مثل PREFIX=/usr/local make install-systemd .
في هذا الإعداد اليدوي التفصيلي ، سننسخ جميع الملفات يدويًا إلى /etc و /bin . وبالتالي ، نحتاج إلى إزالة سلسلة العنصر النائب {{ INSTALL_PREFIX }} في الملفات المصدر كخطوة أولى.
باختصار:
أولاً ، راجع هذا البرنامج التعليمي الرسمي Backblaze على RESTIC ، واتبع التعليمات ("إنشاء حساب Backblaze مع ممكّن B2") هناك حول كيفية إنشاء دلو B2 جديد. بشكل عام ، تريد دلوًا خاصًا ، بدون تشفير B2 (RESTIC يقوم بجانب عميل التشفير بالنسبة لنا) وبدون ميزة قفل الكائن.
لكي تتمكن Restic من الاتصال بالدلو الخاص بك ، فأنت تريد في إعدادات B2 قم بإنشاء زوج من keyid و applicationKey. إنها لفكرة جيدة إنشاء زوج منفصل من المعرف والمفتاح مع كل دلو ستستخدمه ، مع محدودية القراءة والكتابة فقط إلى هذا الدلو.
ضع هذه الملفات في /etc/restic/ :
_global.env.sh : املأ هذا الملف بإعداداتك العالمية بما في ذلك B2 KeyID & ApplicationKey.default.env.sh : هذا هو الملف الشخصي الافتراضي. املأ هذا باسم الجرافة ، ومسارات النسخ الاحتياطي وسياسة الاحتفاظ. مصادر الملف _global.env.sh وبالتالي فهي مكتفية بذاتها ويمكن الحصول عليها في القشرة عندما تريد إصدار بعض الأوامر اليدوية. على سبيل المثال: $ source /etc/restic/default.env.sh
$ restic snapshots # You don't have to supply all parameters like --repo, as they are now in your environment!pw.txt : يجب أن يحتوي هذا الملف على كلمة مرور RESTIC (سطر واحد) المستخدمة لتشفير المستودع. هذه كلمة مرور جديدة ستستخدم قريبًا عند تهيئة المستودع الجديد. يجب أن تكون فريدة من نوعها لمستودع النسخ الاحتياطي المتوحش هذا ويحتاج إلى استعادة منه. لا تعيد استخدام كلمة مرور تسجيل الدخول B2 الخاصة بك ، يجب أن يكون هذا مختلفًا. على سبيل المثال ، يمكنك إنشاء كلمة مرور 128 حرفًا (يجب أن تكون جميعها على سطر واحد) مع: $ openssl rand -base64 128 | tr -d ' n ' > /etc/restic/pw.txtbackup_exclude.txt : قائمة أنماط الملفات لتجاهلها. سيؤدي هذا إلى تقليص حجم النسخ الاحتياطي وسرعة النسخ الاحتياطي كثيرًا عند القيام به بشكل صحيح! الآن يجب علينا تهيئة المستودع في الطرف البعيد:
$ sudo -i
# source /etc/restic/default.env.sh
# restic init ضع هذا الملف في /bin :
restic_backup.sh : برنامج نصي يحدد كيفية تشغيل النسخ الاحتياطي. القصد من ذلك هو أنك لا تحتاج إلى تحرير هذا البرنامج النصي بنفسك ، ولكن تكون قادرًا على التحكم في كل شيء من ملفات تعريف *.env.sh . دعم RESTIC استبعاد الملفات. يسرد مسارات نمط الملف لاستبعادك النسخ الاحتياطية ، والملفات التي تشغل فقط مساحة التخزين ، ووقت النسخ الاحتياطي ، والشبكة والمال. restic_backup.sh يسمح ببعض الملفات المستبعدة المختلفة.
/etc/restic/backup_exclude.txt - قائمة الاستبعاد العالمية. يمكنك استخدام هذا واحد فقط إذا كان الإعداد الخاص بك سهلًا. تم تعيين هذا في _global.env.sh . إذا كنت بحاجة إلى ملف مختلف لملف تعريف آخر ، فيمكنك تجاوز Envvar RESTIC_BACKUP_EXCLUDE_FILE في هذا الملف الشخصي..backup_exclude.txt لكل مسار احتياطي. إذا كان لديك على سبيل المثال قرص USB مثبت على/mnt/الوسائط ويتم تضمين هذا المسار في $RESTIC_BACKUP_PATHS ، يمكنك وضع ملف /mnt/media/.backup_exclude.txt وسيتم التقاطه تلقائيًا. الشيء الجميل في هذا هو أن مسارات النسخ الاحتياطي مكتفية بذاتها من حيث ما يستبعدهم! تعرف الآن على ما إذا كان النسخ الاحتياطي نفسه يعمل ، من خلال الجذر
# source /etc/restic/default.env.sh
# /bin/restic_backup.sh نظرًا لأن default.env.sh يتم الحصول عليها بالفعل في قذيفة الجذر الخاصة بك ، يمكنك الآن سرد Snapshost
# restic snapshots بدلاً من ذلك /mnt/restic يمكنك تركيب لقطات RECERAN
# restic mount /mnt/restic
# ls /mnt/restic تختلف جميع إعدادات OS في جدولة المهام التي يستخدمونها. كإظهار مظاهرة ، دعونا نلقي نظرة على كيفية القيام بذلك مع SystemD تحت Linux هنا.
ضع هذه الملفات في /etc/systemd/system (لاحظ أن Makefile يثبت كحزمة /usr/lib/systemd/system )
[email protected] : خدمة تستدعي البرنامج النصي الاحتياطي مع ملف التعريف المحدد. يتم تحديد ملف التعريف بواسطة القيمة بعد @ عند تشغيله (انظر أدناه).[email protected] : جهاز توقيت يبدأ النسخ الاحتياطي السابق كل يوم (نفس الشيء عن الملف الشخصي هنا).OnCalendar في الملف.الآن ببساطة تمكين المؤقت مع:
# systemctl enable --now [email protected]يمكنك أن ترى متى من المقرر تشغيل النسخة الاحتياطية التالية
# systemctl list-timers | grep resticوانظر حالة نسخة احتياطية تعمل حاليًا مع:
# systemctl status restic-backupأو ابدأ نسخة احتياطية يدويًا:
$ systemctl start restic-backup@defaultيمكنك متابعة النسخ الاحتياطي stdout Output Live حيث يتم تشغيل النسخ الاحتياطي مع:
$ journalctl -f -u [email protected] (تخطي -f لرؤية جميع النسخ الاحتياطية التي تم تشغيلها)
مرة واحدة في حين يمكن أن يكون من الجيد إجراء فحص صحي للمستودع البعيد ، للتأكد من أنه لا يفسد. يمكن القيام بذلك مع $ restic check .
هناك نصوص مصاحبة وخدمة وجهاز توقيت ( *check* ) إلى retc-backup.sh التي تتحقق من النسخ الاحتياطي retic للأخطاء ؛ انظر إلى repo في usr/lib/systemd/system/ و bin/ ونسخ ما تحتاجه إلى مواقعها المقابلة.
# systemctl enable --now [email protected] 
للحصول على وظائف احتياطية مختلفة لها دلاء مختلفة ، مسار النسخ الاحتياطي للجدول ، فقط قم بعمل نسخة من default.env.sh واستخدم اسم الملف الشخصي المحدد بدلاً من default في الخطوات السابقة.
لإنشاء نسخة احتياطية مختلفة واستخدام يمكنك القيام بها:
# cp /etc/restic/default.env.sh /etc/restic/other.env.sh
# vim /etc/restic/other.env.sh # Set backup path, bucket etc.
# source /etc/restic/other.env.sh
# restic_backup.sh عند تمكينه ، ستكتب إلى ملف سجل CSV الإحصائيات بعد كل نسخة احتياطية. يمكن تمكينه عن طريق إلغاء تحديد متغير ENV ( RESTIC_BACKUP_STATS_DIR ) على ملف البيئة العالمي أو تحديده على ملف تعريف معين.
سجل الإحصائيات (وكذلك) إشعارات سطح المكتب تتحمل في مجموعة إضافية من restic snapshots و restic diff . تتم مشاركة هذا التنفيذ مع الإخطارات (لا يوجد تشغيل إضافي).

من الجيد أن تكون على رأس النسخ الاحتياطية الخاصة بك للتأكد من أنها لا تزيد من حجمها وتتكبد تكاليف عالية. ومع ذلك ، من الصعب أن تقوم بإخطارات واجهة المستخدم الرسومية بشكل صحيح من عملية غير مستخدم (مثل الجذر).
لذلك ، يوفر هذا المشروع حلًا خفيف الوزن لإشعارات سطح المكتب الذي يعمل مثل هذا: في الأساس restic_backup.sh ، سيقوم SHE بإلحاق خط ملخص من آخر نسخة احتياطية إلى ملف مملوك للمستخدم (يقوم المستخدم بتشغيل بيئة سطح المكتب الخاصة بـ OS) بطريقة نار ومستحضر. ثم لدى المستخدم عملية تقرأ هذا وإعادة توجيه كل سطر كرسالة جديدة إلى بيئة سطح المكتب قيد الاستخدام.
لضبط إشعارات سطح المكتب:
$ mkfifo /home/user/.cache/notification-queue/etc/restic/default.sh default.sh ، تعيين: RESTIC_BACKUP_NOTIFICATION_FILE=/home/user/.cache/notification-queueنريد أن نكون على دراية عند فشل النسخ الاحتياطي التلقائي ، حتى نتمكن من إصلاحه. نظرًا لأن الكمبيوتر المحمول الخاص بي لا يعمل على تشغيل خادم بريد ، فقد ذهبت للحصول على حل لإعداد الكمبيوتر المحمول الخاص بي حتى أتمكن من إرسال رسائل بريد إلكتروني مع Postfix عبر Gmail الخاص بي. اتبع التعليمات هناك.
ضع هذا الملف في /bin :
systemd-email : يرسل البريد الإلكتروني باستخدام SendMail (1). يتميز هذا البرنامج النصي أيضًا بوقت عدم وجود خوادم غير مرغوب في Gmail وحظر حسابي. ضع هذا الملف في /etc/systemd/system/ :
[email protected] قم بتحرير عنوان البريد الإلكتروني المستهدف في هذا الملف ، واستبدل أو إزالة {{ INSTALL_PREFIX }} وفقًا للتثبيت. الآن edit /usr/lib/systemd/system/[email protected] و /usr/lib/systemd/system/[email protected] لاستدعاء فشل الخدمة هذا.
OnFailure=status-email-user@%n.service
استخدم bin/cron_mail : غلاف لتشغيل وظائف cron ، الذي يرسل إخراج المهمة كبريد بريد إلكتروني باستخدام الأمر mail (1). هذا يفترض أن برنامج mail يتم إعداده بشكل صحيح على النظام لإرسال رسائل البريد الإلكتروني.
لاستخدام هذا ، لف أمر RESTIC SCRIPT معه في ملف cron مثل:
- @midnight root . /etc/restic/default.sh && restic_backup.sh
+ @midnight root . /etc/restic/default.sh && cron_mail restic_backup.shبالنسبة لجهاز كمبيوتر محمول ، قد يكون من المنطقي عدم القيام بنسخ احتياطية ثقيلة عندما يكون لديك اتصال مقتر مثل اتصال مشترك من هاتفك المحمول. لحل هذا ، يمكننا إعداد خدمة SystemD التي تكون في حالة النجاح فقط عندما يتم توصيل الاتصال. ثم يمكننا إخبار خدمة النسخ الاحتياطي لدينا بالاعتماد على هذه الخدمة ببساطة! عندما تكتشف الخدمة غير المقيدة اتصالًا غير متخلف ، ستذهب إلى الحالة الفاشلة. ثم لن يتم تشغيل خدمة النسخ الاحتياطي لدينا لأنها تتطلب أن تكون هذه الخدمة الأخرى في حالة النجاح.
[email protected] و [email protected] Requires=nm-unmetered-connection.service
After=nm-unmetered-connection.service
/etc/systemd/system/ :nm-unmetered-connection.service : خدمة موجودة في حالة النجاح فقط إذا كان الاتصال غير متخلف./bin :nm-unmetered-connection.sh : يكتشف الاتصالات المقننة وإرجاع رمز الخطأ إذا تم اكتشاف واحد. تتطلب هذه البرامج النصية تثبيت Gnome NetworkManager (تعديل هذا البرنامج النصي إذا كان نظامك لديه مدير شبكة مختلف).# systemctl daemon-reload ☝ نصيحة : جميع الخطوات ولكن يمكن القيام بالذات الأولى في واحدة إذا كنت تستخدم Makefile. تعيين $PREFIX حسب الحاجة أو اترك فارغة للتثبيت إلى / .
sudo bash -c ' export PREFIX=
make build/usr/lib/systemd/system/nm-unmetered-connection.service
install -m 0644 build/usr/lib/systemd/system/nm-unmetered-connection.service $PREFIX/etc/systemd/system
install -m 0555 bin/nm-unmetered-connection.sh /bin
systemctl daemon-reload
' للراحة ، يوجد برنامج نصي restic WROPPER يجعل ملفات تعريف التحميل وتشغيلًا مباشرًا بشكل مباشر (يحتاج إلى تشغيل مع SUDO لقراءة البيئة). فقط الجري:
sudo resticw WHATEVER (EG sudo resticw snapshots ) لاستخدام ملف التعريف الافتراضي.resticw -p anotherprofile snapshots .restic مثل- --diff-latest .أوامر مفيدة:
| يأمر | وصف |
|---|---|
resticw snapshots | قائمة لقطات النسخ الاحتياطي |
resticw diff <snapshotId-1> <snapshotId-2> | إظهار التغييرات بين لقطات النسخ الاحتياطي |
resticw stats / resticw stats snapshotId ... | إظهار الإحصائيات الخاصة بالريزو بأكمله أو لقطات محددة |
resticw mount /mnt/restic | قم بتركيب مستودعك البعيد |
resticw --diff-latest | إظهار أحدث تغييرات لقطة: تشغيل restic diff بعد العثور على أحدث لقطات 2 |
يوجد هدف لإزالة جميع الملفات (البرامج النصية والتكوينات) التي تم تثبيتها بواسطة sudo make install-* . فقط الجري:
$ sudo make uninstall أفضل طريقة لتصحيح ما يجري هو تشغيل البرنامج النصي restic_backup.sh مع وظيفة TRACE BASH. يمكنك تفعيله عن طريق تشغيل البرنامج النصي باستخدام bash -x :
$ source /etc/restic/default.env.sh
$ bash -x /bin/restic_backup.sh
لتصحيح أجزاء أصغر من البرنامج النصي الاحتياطي ، أدخل هذه الخطوط في أعلى وأسفل أجزاء الكود ذات الصلة على سبيل المثال:
set -x
exec 2> /tmp/restic-automatic-backup-scheduler.log
< code to debug >
set +xثم فحص المخرجات مثل
$ less /tmp/restic-automatic-backup-scheduler.log
$ tail -f /tmp/restic-automatic-backup-scheduler.log # or follow output like this.Makefile ببساطة تثبيت $PREFIX مثل $ PREFIX=/tmp/restic-test make install-systemdresticw : إذا قمت بتحديث DOC الاستخدام ، فستحتاج إلى تحديث المحلل المولد تلقائيًا: $ pip install doctopt.sh
$ doctopt.sh usr/local/bin/resticwلإصدار جديد:
$ vi CHANGELOG.md && git commit -am " Update CHANGELOG.md "
$ git tag vX.Y.Z
$ git push && git push --tags