BackupPC
عبارة عن برنامج نسخ احتياطي مجاني ومفتوح المصدر (open-source) وقائمة على الويب (web-based).
يمكن استخدامه لعمل نسخة احتياطية من أجهزة الكمبيوتر الشخصية وأجهزة الكمبيوتر المحمولة التي تعمل بنظام التشغيل Linux و Windows و macOS.
يستخدم بروتوكول Rsync أو Samba أو tar عبر بروتوكول ssh / rsh / nfs.
يوفر واجهة ويب قوية تتيح لك عرض ملفات السجل (log) والإعدادات والحالة الحالية.
يسمح للمستخدمين ببدء وإلغاء النسخ الاحتياطية وتصفح واستعادة الملفات من النسخ الاحتياطية.
نظام نسخ احتياطي عالي الأداء لإجراء نسخ احتياطي لعدد كبير من الأجهزة على القرص المحلي للخادم أو تخزين الشبكة.
شاهد خطوات إعداد BackupPC بالفيديو
المتطلبات الأساسية
خادمان يعملان بنظام Ubuntu 20.04.
يتم إعداد كلمة مرور root على كل خادم.
تثبيت BackupPC
بشكل افتراضي يتوفر BackupPC داخل Ubuntu 20.04.
يمكنك تثبيته بمجرد تشغيل الأمر التالي:
apt-get install backuppc -y
أثناء التثبيت ، سيُطلب منك تحديد إعداد البريد.
اختار Local only ثم اضغط Enter.
سيُطلب منك تقديم اسم البريد.
أدخل الاسم الذي تريده واضغط على Enter.
سيُطلب منك تحديد خادم الويب الذي تريد إعداده.
اختار Apache واضغط على Enter لبدء التثبيت.
سيقوم BackupPC أيضًا بإعداد مستخدم إداري (administrative) يسمى backuppc بكلمة مرور لإدارة المهام المختلفة مثل الوصول إلى لوحة معلومات الويب الخاصة بـ BackupPC.
بمجرد اكتمال التثبيت سترى الشاشة التالية.
الآن ، اضغط على Enter لإنهاء التثبيت.
تغيير كلمة المرور الافتراضية لـ BackupPC.
htpasswd /etc/backuppc/htpasswd backuppc
النتيجة
New password:
Re-type new password:
Updating password for user backuppc
إدارة BackupPC
يمكنك أيضًا إدارة BackupPC باستخدام systemd.
على سبيل المثال ، يمكنك بدء خدمة BackupPC باستخدام الأمر التالي:
systemctl start backuppc
للتحقق من حالة BackupPC قم بتشغيل الأمر التالي:
systemctl status backuppc
ستحصل على النتيجة التالية
? backuppc.service - LSB: Launch backuppc server
Loaded: loaded (/etc/init.d/backuppc; generated)
Active: active (running) since Sat 2020-07-25 13:59:33 UTC; 6min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 2 (limit: 2353)
Memory: 22.0M
CGroup: /system.slice/backuppc.service
??4463 /usr/bin/perl /usr/share/backuppc/bin/BackupPC -d
??4464 /usr/bin/perl /usr/share/backuppc/bin/BackupPC_trashClean
Jul 25 13:59:32 backuppcserver systemd[1]: Starting LSB: Launch backuppc server...
Jul 25 13:59:32 backuppcserver backuppc[4442]: * Starting backuppc...
Jul 25 13:59:33 backuppcserver backuppc[4442]: ...done.
Jul 25 13:59:33 backuppcserver systemd[1]: Started LSB: Launch backuppc server.
لتمكين خدمة BackupPC للبدء عند بدء تشغيل النظام قم بتشغيل الأمر التالي:
systemctl enable backuppc
إعداد SSH على أجهزة الكمبيوتر
هناك عدة طرق لمصادقة البيانات ونقلها.
سوف نستخدم هنا بروتوكول Rsync كطريقة نسخ احتياطي.
سنحتاج إلى إعداد مصادقة SSH بدون كلمة مرور لكل عميل (Client) للوصول إلى النظام بدون كلمة مرور.
على خادم BackupPC قم بتبديل المستخدم إلى backuppc وإنشاء SSH key-pair بالأمر التالي:
su - backuppc
ssh-keygen
ستحصل على النتيجة التالية
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/backuppc/.ssh/id_rsa):
Created directory '/var/lib/backuppc/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/backuppc/.ssh/id_rsa
Your public key has been saved in /var/lib/backuppc/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:kFWEjgktEgzWGFelWdY1B0w4WANvPJxM83X79FJA6GE backuppc@ubuntu2004
The key's randomart image is:
+---[RSA 3072]----+
|.==o.o.=*OB=.=o. |
|..+.o *+B+=.E ...|
| . =o+ O.+ . .o|
| o.o . . oo|
| S . o|
| . |
| |
| |
| |
+----[SHA256]-----+
بعد ذلك انسخ مفتاح SSH الذي تم إنشاؤه إلى نظام العميل (client) باستخدام الأمر التالي:
ssh-copy-id root@backuppc-client-ip
ستحصل على النتيجة التالية
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/backuppc/.ssh/id_rsa.pub"
The authenticity of host 'backuppc-client-ip (backuppc-client-ip)' can't be established.
ECDSA key fingerprint is SHA256:UMxtsszZC/MuEiAnSgV2q5tdckXnEw7MXTVBhtJCeEE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@45.58.32.159's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@backuppc-client-ip'"
and check to make sure that only the key(s) you wanted were added.
تعطيل إعادة التوجيه (Forwarding)
سنحتاج أيضًا إلى ssh agent-forwarding أو إعادة توجيه المنفذ (port-forwarding) أو حتى pty لتسجيل دخول مستخدم backuppc إلى العميل من BackupPC.
في نظام العميل (Client) قم بتعديل ملف ssh authorized key باستخدام الأمر التالي:
nano .ssh/authorized_keys
أضف السطر التالي قبل كلمة ssh-rsa :
from="your-server-ip",no-agent-forwarding,no-port-forwarding,no-pty
إعداد Apache لـ BackupPC
بشكل افتراضي ، يمكن الوصول إلى BackupPC فقط من المضيف المحلي (localhost).
لذلك ستحتاج إلى تعديل ملف إعدادات Apache للسماح لـ BackupPC من IP الخارجي.
يمكنك القيام بذلك عن طريق تعديل الملف التالي على جهاز الخادم:
nano /etc/apache2/conf-available/backuppc.conf
ابحث عن السطر التالي:
Require local
استبدله بالسطر التالي:
Require all granted
احفظ وأغلق الملف عند الانتهاء.
أعد تشغيل خدمة Apache لتطبيق التغييرات.
systemctl restart apache2
الان يمكن الوصول إلى خادم BackupPC الخاص بك من IP خارجي.
Access BackupPC Web Interface
Now, open your web browser and type the URL http://backuppc-server-ip/backuppc. You should see the BackupPC login screen:
الوصول إلى BackupPC Web Interface
الآن ، افتح متصفح الويب واكتب العنوان
URL http: // backuppc-server-ip / backuppc.
يجب أن تشاهد شاشة تسجيل الدخول إلى BackupPC:
قم بادخال اسم المستخدم BackupPC وكلمة المرور.
انقر على زر Sign in.
ستشاهد لوحة تحكم BackupPC.
إضافة جهاز عميل (Client) إلى BackupPC
سنقوم بإضافة جهاز العميل الذي تريد نسخه احتياطيًا باستخدام BackupPC.
في لوحة تحكم BackupPC انقر فوق Edit Hosts في يمين الشاشة .
ستشاهد الشاشة التالية:
يمكنك رؤية المضيف المحلي (localhost) مضاف بالفعل.
في هذا المثال نحتاج فقط إلى النسخ الاحتياطي للعميل البعيد (remote client).
لذا احذف المضيف المحلي بالنقر فوق زر delete.
انقر على زر add لإضافة جهاز العميل.
الآن ، قم بإدخال عنوان IP ثم انقر فوق الزر Save لحفظ الإعدادات.
بعد ذلك ، ستحتاج إلى إعداد طريقة نقل البيانات للنسخ الاحتياطي.
سوف نستخدم هنا بروتوكول Rsync لنقل البيانات.
لذا انقر فوق علامة التبويب Xfer لتكوين طريقة نقل قاعدة البيانات. يجب أن ترى الشاشة التالية:
اختار Rsync ضمن إعدادات Xfer وانقر فوق الزر Save لحفظ التغييرات.
بعد ذلك ، ستحتاج إلى تحديد مسار المجلد الذي تريد نسخه احتياطيًا.
في الجزء الأيسر تحت Hosts انقر فوق زر القائمة المنسدلة وحدد مضيف العميل. يجب أن ترى الشاشة التالية:
الآن ، انقر فوق Edit Config وانقر فوق علامة التبويب Xfer. يجب أن ترى الشاشة التالية:
ضمن إعدادات Xfer حدد المربع الإضافي من RsyncShareName واكتب مسار المجلد الذي تريد نسخه احتياطيًا.
بمجرد الانتهاء ، انقر فوق الزر Save لتطبيق التغييرات.
بعد ذلك ، ستحتاج إلى إعداد الجدول الزمني للنسخ الاحتياطي.
في الجزء الأيسر تحت Server settings انقر فوق Edit Config وانقر فوق علامة التبويب Schedule. يجب أن ترى الشاشة التالية:
قم بإدخال إعدادات النسخ الاحتياطي التي تريدها وانقر فوق الزر Save لتطبيق التغييرات.
الآن ، سوف تحتاج إلى تشغيل نسخة احتياطية يدوية على جهاز العميل.
في الجزء الايسر تحت Hosts انقر فوق القائمة المنسدلة واختار مضيف العميل.
يجب أن ترى الشاشة التالية:
تحت Backup Summary ثم User Actions انقر فوق Start Full Backup.
إذا كان كل شيء على ما يرام. يجب أن ترى الشاشة التالية:
في الجزء الايسر انقر فوق LOG file للتحقق من سجلات النسخ الاحتياطي.
يجب أن ترى سجل النسخ الاحتياطي الكامل في الشاشة التالية:
للتحقق من ملخص النسخ الاحتياطي ، انقر فوق Host Summary في الجزء الايسر.
يجب أن ترى الشاشة التالية:
للاطلاع على قائمة بجميع ملفات النسخ الاحتياطي.
انقر فوق عنوان IP للمضيف كما هو موضح في الملخص أعلاه.
ثم انقر فوق Browse Backups
ثم Backup number.
يجب أن تشاهد جميع ملفات النسخ الاحتياطي في الشاشة التالية: