الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة نسخ سيرفر كامل وقواعد البيانات

مغلق
بدأه سينابونه في 13 سبتمبر 2007 · 1 رد · 2,288 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أثناء قراءتي في النت عن النسخ الإحتياطي لقواعد البيانات بطريقة التزامن وجدت موضوع مهم لكل أصحاب المواقع او قواعد البيانات ... وفكرت في انشاء وكتابة هذ الموضوع الذي نأمل في أن نتشارك الرأي فيه للوصول الى مقال جميل يستفيد منه الجميع .

بداية سوف اشرح الموضوع كالتالي :

لدي موقع وليكن www.domian1.com ( موقع به قاعدة بيانات ) ولديه صلاحيات ssh ولدي ولدي سيرفر VPS بكامل الصلاحيات . لتنفرض انك تريد عمل نسخ احتياطي لكامل المجلد home وما يحتويه من مجلدات التي هي مجلدات المواقع . كذلك عمل نسخ احتياطي للمجلد .va/lib/mysql والذي يحتوي جميع قواعد البيانات كذلك عمل نسخ احيتاطي للمجلد bckaup والذي هو للنسخ الإحيتاطي الداخلي في السيرفر .

1- كيف اقوم بعمل نسخ احتياطي دوري لحظي لهذه المجلات من حساب VPS الى www.domain1.com بشكل ألي ودوري .

2- ماذا يحدث في حال اختراق السيرفر VPS وهل يعمل النسخ الأحتياطي .

3- ما هي الأوامر التي استخدمها للقيام بذلك .

الإجابات :

1- الطريقة الأولى انك سوف تدخل بحساب root على السيرفر وتقوم بأستخدام الأمر

CONSOLE

cd /

tar -czvf home.tgz

ثم

CONSOLE
cd var

cd lib

tar -czvf mysql.tgz

cd/

cd/

tar -czvf backup.tgz

الأن لديك 3 ملفات مضعوطة فيها مرادك هي home.tgz لكل الموقع و mysql.tgz للقواعد backup.tgz للنسخ الأحتياطي . عليك الدخول للموقع الأخر www.domain1.com وكتابة الأوامر التالية :

CONSOLE

بذلك انت قمت بعملية نسخ كاملة للسيرفر ونقلها لموقع أخر ... ربما تكون هذه العملية مفيده ولكنها متعبة فهل يمكن عملها بطريقة ألية ليقوم الموقع الأول بجلب هذه الملفات دورياً ... ويقوم الأول بعمل النسخ دورياً وبالتالي تكون العملية ألية ... نعم .... ممكن ذلك ... كيف ... تابع ...:)

اولآً:

نقوم بعمل ملف اسمه .sh ونضع فيه امر طلب قواعد البيانات من السيرفر VPS .

CONSOLE

نخفظ الملف باسم comesql.sh ونرفعه على الموقع الأول www.domain1.com ونعطيه صلاحيات 755

بعدها نذهب للوحة التحكم cpanel ونقوم بجدول عمل الأمر يومياً من خلال cronjob .

ثانياً :

نقوم بعمل ملف اسمه .sh ونضع فيه امر طلب نسخ المجلدات في VPS .

CONSOLE
#!/bin/bash

cd /

tar -czvf home.tgz

ثم

CONSOLE
mkdir bksend

mv home.tgz /home/mksend

cd var

cd lib

tar -czvf mysql.tgz

mv mysql.tgz /home/mksend

cd/

cd/

tar -czvf backup.tgz

mv backup.tgz /home/mksend

;;

esac

exit 0

نخفظ الملف باسم sendbackup.sh ونرفعه على الموقع الأول www.domain2.com ونعطيه صلاحيات 755 ونضعه في مجلد etc ضمن cron.daily .

مع ذلك هناك طرق افضل وهي ما نود مناقشتها بالاعتماد على أمر rsync (remote synchronizer)

تجد ملفات السورس كود و البايناريز , هذا هو السورس كود:

http://samba.org/ftp/rsync/rsync-2.6.9.tar.gz

لفك الضغط اعمل التالي( يجب ان تكون الرووت) :

CONSOLE
tar -xvzf rsync-2.6.9.tar.gz

انتقل للمجلد الخاص به

CONSOLE
cd rsync-2.6.9.tar.gz

اطبع التالي:

CONSOLE
./configure

make

make install

rsync --daemon

تأكد من انه يعمل بكتابة امر التالي:

CONSOLE
ps –aux

هل ترى اسم البرنامج موجود في القائمة؟ اذا هيا نكمل,

الان نحتاج الى ملفين , اولهما هو ملف rsyncd.conf و الثاني هو rsyncd.secrets

نذهب الى /etc و نكتب التالي:

CONSOLE
vi rsyncd.conf

سيفتح ملف جديد اكتب التال فيه و احفظه:

motd = /etc/motd
logfile = /var/log/rsyncd.log
max connections = 25
uid =root
gid =root
pid file = /var/run/rsyncd.pid
[data]
path=/data
auth users = root
secrets file = /etc/rsyncd.secrets

لنشرح الان:

motd = /etc/motd

اذا اردت وضع رسالة ترحيبية لمن يدخل للسيرفر ( في هذه الحالة هو انت) تضعها في هذا الملف و ان لم تجده اصنع ملف جديد بهذا الاسم.

logfile = /var/log/rsyncd.log

ملف اللوغ للبرنامج , كل الخطوات تسجل هنا و تستطيع الرجوع له عند حدث الاخطاء.

max connections = 25

عدد الذين يدخلون لعمل الباك اب دفعة واحدة

uid =root
gid =root

اختصار ل user id and group id

و هنا المسموح له هو الرووت فقط

pid file = /var/run/rsyncd.pid

ال process id للبرنامج يخزن في هذا الملف

[data]

هذا سيكون اسم المشاركة في الملفات في السيرفر

path=/data

هنا يكون عنوان المجلد الذي يحتوي على الملفات التي تريد عمل الباك اب لها , و يمكنك عمل باك اب للسيرفر كله بتغيير هذا المجلد حسب ما تراه مناسباً لك.

auth users = root
secrets file = /etc/rsyncd.secrets

الاول يعني الاشخاص المخول لهم بعمل الباك ابملف السكرت سنتكلم عنه الان ولكن معناه مكان الباسودرات اليوزرات في السيرفر.احفظ الملف.

الان نذهب الى /etc و نكتب التالي:

CONSOLE
vi rsyncd.secrets

اكتب التالي:

root:

احفظ الملف

الان كل شي جاهز اذهب الى جهازك المحلي و اكتب الامر التالي:

CONSOLE

rsync –avz www.domain2.com::data /backupdirectory

عنوان الموقع او السرفر بالاسم او بالايبي للذي تريد عمل الباك اب له متبوع ب :: ثم اسم مشاركة الملفات

الذي ذكرناه بالسابق في ملف rsync.conf ثم متبوع باسم المجلد الذي ترغب في وضع ملفات الباك اب فيه , اي المجلد الموجود في جهازك المحلي .

سيسألك عن الباسوورد للروت و تضع الباسوورد و بعد ذلك سيكون كل شي على ما يرام و يبدأ الباك اب.

هنا نصل الى نهاية الموضوع

اتمنى ان يكون قد اضاف شيئا الى معلوماتكم وانتظر تلعيقاتكم وملاحظاتكم التي من شأنها أن شاء الله ان ترتقي بهذا الموضوع .

#2

ألف شكر (h) :rolleyes: :rolleyes:

هذا الموضوع مغلق.

مواضيع مشابهة