المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : موضوع عن الطرق الصحيحة لاخذ باك اب ، ومشاكل استرجاع الباك اب



walid
11-02-2013, بتوقيت غرينيتش 01:23 AM
السلام عليكم ورحمة الله وبركاته

الموضوع عن مشكلة اخد باك اب لموقع على سيرفر SERVER او مشكلة استرجاع الباك اب على سيرفر SERVER

ممكن المشكلة دي من اسباب كتير

- اول حاجة ، ممكن ملف الباك اب معطوب أوغير كامل وخاصة لو كان مساحة الموقع كبيرة ، ف ممكن يكون الباك مكتملش

ومن وجهة نظري لما تحب تاخد باك اب لموقع كبير خلى الفولدرات اللى فيها داتا مساحتها كبيرة و مستخدمة مساحة كبيرة خارج الباك اب ، يعني خرجها خارج اليوزر خالص (فى الهوم مثلا /home) وبعدين خد الباك اب بتاعك ، وبعدها رجع داخل اليوزر واضغط الفولدرات دي لوحدها فولدر فولدر ، وبعد ما تنقل الباك للسيرفر SERVER اللى عايز تنقله ليه وتسترجع الباك اب ، ادخل فى www من الشيل واسحب الملفات المضغوطة دي (ملفات الفولدرات اللى ضغطناها) وفك ضغطها عادي .

احنا عندنا سيرفر SERVER رقم 1 (ودا عليه موقع العميل اللى عايزين ننقله لسيرفر SERVER تاني) ، وفيه سيرفر SERVER رقم 2 (ودا اللى العميل عايز ينقل ليه)

انت صاحب استضافة HOTING وصاحب السيرفر SERVER رقم 1 ( والعميل عايز ينقل من عندك ) ، يروح لواحد تاني صاحب استضافة HOTING وصاحب سيرفر SERVER رقم 2 (والعميل عايز ينقل موقعه عنده) ، وفى كلتا الحالتين العميل موقعه مساحته كبيرة جداً .

علشان انت لا تسوي ضغط على سيرفر SERVERك كصاحب سيرفر SERVER رقم 1 وانت بتعمل للعميل الباك اب الخاص بموقعه ، وايضاً الاخ الكريم صاحب السيرفر SERVER رقم 2 لا يريد ضغط على سيرفر SERVERه اثناء عملية استرجاع باك اب موقع العميل ، يبقى من الصح ان يكون فيه تنسيق بينكم او لو مفيش مثلاً طريقة اتصال بينكم ، ممكن يقوم العميل بحلقة الوصل دي ، ويوصل المعلومات الخاصة بـ باك اب موقعه من صاحب السيرفر SERVER رقم 1 الى صاحب السيرفر SERVER رقم 2

يعني مثلا على سبيل المثال عندنا موقع (example.com) اليوزر بتاعه اسمه user و اليوزر دا مستخدم حوالى 6 جيجا او اكتر ، والمساحة دي اغلبها مثلاً ، مثلاً فى المجلد الخاص بمركز التحميل (up) ، الملفات اللى داخل مجلد uploads اللى جوا مركز التحميل دا مستخدمة مساحة كبيرة جدا نقول مثلاً 5 جيجا ، دا غير انه فيه مجلدات لسكربتات تانية و قواعد بيانات على الموقع دا مثلاً هي كمان مساحتها كبيرة ، يعني نلاقي مساحة الموقع دا داخله فى 10 جيجا توتال مثلاً ، طيب يبقى حرام علينا نعمل باك اب للموقع دا من السي بانل CPANEL او باستخدام الامر :


رمز Code:
/scripts/pkgacct user


أولا : ممكن الباك اب يبقى مش كامل وحصل فيه أخطاء
ثانياً : لود وضغط على السيرفر SERVER وهو بيعمل الباك اب دا
ثالثاً : ممكن نيجي نسترجع الباك دا على سيرفر SERVER تاني متكتملش العملية دي

يبقى احنا ناخد الملفات اللى مستخدمه مساحة دي خارج المسار بتاع اليوزر دا خالص وبعدين ناخد له الباك اب وبعدين نرجعها تاني ونضغطها لوحدها ، مثلاً ، مجلد uploads داخل مجلد up فى الموقع اللى اليوزر بتاعه user مساحتة كبيرة وعايزين ناخد الباك من غيره ونبقى ننقله بعد ما ناخد الباك ، دا المسار بتاع المجلد دا :


رمز Code:
/home/user/www/up/uploads



طيب نخرجه بره اليوزر ، نضعه فى الهوم مثلا ، بس الافضل تنشأ فولدر فى الهوم تحط داخله الحاجات دي ، ونسميه مثلا اسم مميز يكون واضح بين مجلدات اليوزرات :

(الامر بيتنفذ على سيرفر SERVER رقم 1 اللى عليه الموقع)


رمز Code:
mkdir /home/USERBACKUP

وبعدها ننقل بقى مجلد uploads للفولدر دا :

(الامر بيتنفذ على سيرفر SERVER رقم 1 اللى عليه الموقع)



رمز Code:
cd /home/user/www/up mv uploads /home/USERBACKUP/uploads

ونطبق موضوع النقل دا على الفولدرات اللى مساحتها كبيرة جدا فى الموقع دا بنفس الطريقة ، وبعدها ناخد باك اب للموقع :

(الامر بيتنفذ على سيرفر SERVER رقم 1 اللى عليه الموقع)


رمز Code:
/scripts/pkgacct user





انتهى الباك اب وصغير ولذيذ ومعملناش لود ولا ضغط على سيرفر SERVERنا ، موجود الباك عندنا فى الهوم :


رمز Code:
/home/cpmove-user.tar.gz

طيب هننقل ملف الباك دا جوا الموقع ونديله تصريح علشان نقدر نسحب الملف دا من السيرفر SERVER التاني :

(الامر بيتنفذ على سيرفر SERVER رقم 1 اللى عليه الموقع)


رمز Code:
cd /home chmod 666 cpmove-user.tar.gz mv cpmove-user.tar.gz /home/user/www/cpmove-user.tar.gz




اخدنا الباك ونقلناه وجاهز للسحب من سيرفر SERVER تاني او للتحميل (احنا نقلناه داخل www لليوزر user واللى الدومين بتاعه example.com ) يبقى لو هنسحب ملف الباك دا من سيرفر SERVER تاني هنستخدم الرابط دا :


http://www.example.com/cpmove-user.tar.gz


يعني هناخد الملف من السيرفر SERVER التاني ب wget ، ادخل السيرفر SERVER التاني اللى هتنقل له الباك دا :

(الامر بيتنفذ على سيرفر SERVER رقم 2 اللى هيتنقل ليه الموقع)


رمز Code:
cd /home wget http://www.example.com/cpmove-user.tar.gz





اعمل استرجاع للباك اب :

(الامر بيتنفذ على سيرفر SERVER رقم 2 اللى هيتنقل ليه الموقع)


رمز Code:
/scripts/restorepkg user



كدا خلصنا من الباك للموقع اتاخد واتنقل بقواعد بياناته بكل حاجه ، ما عدا المجلدات اللى طلعناها خارج الموقع (اللى مساحتها كبيرة دي )

ننقل بقى تاني المجلد uploads اللى نقلناه دا للموقع بتاعنا

(الامر بيتنفذ على سيرفر SERVER رقم 1 اللى عليه الموقع)


رمز Code:
cd /home/USERBACKUP mv uploads /home/user/www/up/uploads

ونضغط المجلد :

(الامر بيتنفذ على سيرفر SERVER رقم 1 اللى عليه الموقع)


رمز Code:
cd /home/user/www/up tar -czvf uploads.tar.gz uploads




بقى دلوقتي عندنا المجلد uploads مضغوط داخل مجلد up


رمز Code:
/home/user/www/up/uploads.tar.gz

أو بطريقة تانية :



http://www.example.com/up/uploads.tar.gz


ادخل السيرفر SERVER التاني اللى انت نقلت ليه الباك اب بتاع الموقع وعملت له استرجاع والموقع عايز يكمل بقية ملفاته ، لسه باقي له مجلد بره ، دا اهم مجلد عند العميل ، دا 6 جيجا ، طيب نجيب للعميل بقية موقعه :

(الامر بيتنفذ على سيرفر SERVER رقم 2 اللى هيتنقل ليه الموقع)


رمز Code:
cd /home/user/www/up wget http://www.example.com/up/uploads.tar.gz

فك ضغط الملف :
(الامر بيتنفذ على سيرفر SERVER رقم 2 اللى هيتنقل ليه الموقع)


رمز Code:
tar -zxvf uploads.tar.gz

بقى موجود عندنا المجلد uploads خلاص داخل مجلد up على سيرفر SERVER 2 ، نحذف بقى الملف المضغوط بتاعه عشان المساحة ، بس بعد ما تتأكد بالفعل من وجود المجلد ومساحته :
(الامر بيتنفذ على سيرفر SERVER رقم 2 اللى هيتنقل ليه الموقع)



رمز Code:
rm -rf uploads.tar.gz

اظبط التصاريح لليوزر على كافة محتوياته من ملفات ومجلدات :
(الامر بيتنفذ على سيرفر SERVER رقم 2 اللى هيتنقل ليه الموقع)


رمز Code:
chmod +s /bin/pwd /scripts/enablefileprotect /scripts/chownpublichtmls /scripts/fixeverything











دا بخصوص اخد نسخة باك اب لموقع كبير ونقله واسترجاعه على السيرفر SERVER المنقول اليه ، وبدون اي مشاكل .

-------------------------------------------------------

نيجي بقى لبعض مشاكل استرجاع باك اب لموقع وبعض حلولها :

فيه مشكلة فى استرجاع الباك اب وانت متأكد ان الباك اب اتاخد صح ، لكن كمان عارف ان الباك اب مساحته كبيرة

- ممكن مفيش مساحة على سيرفر SERVERك ، بس لو كانت المشكلة من المساحة كان هيظهر لك رسالة خطأ ان disk executed ، فموضوع المساحة دا بسيط واكيد كمان انت عارف المساحة المستخدمة والخالية على سيرفر SERVERك .



- حاجة تانية تصريح فك الملفات عندك على السيرفر SERVER

رمز Code:
/bin/tar


التصريح الصحيح لها 755 ، وعشان تعرف التصريح مظبوط ولا لأ ،


رمز Code:
cd /bin

رمز Code:
ls -la


وشوف التصريح امام tar المفروض بيكون


رمز Code:
rwxr-xr-x


وهو 755 ، r=4 ، w=2 ، x=1 ، لو عندك التصريح مظبوط ، يعني زي ماهو فى الكود code فوق يبقى كدا تمام


رمز Code:
rwx = 4 + 2 + 1 = 7 r-x = 4 + 1 = 5 r-x = 4 + 1 = 5


لو التصريح غير كدا يبقى نفذ الامر دا عشان تديله التصريح 755


رمز Code:
chmod 755 /bin/tar




- ولو سيرفر SERVERك vps ممكن ايضاً تكون المشكلة عندك من الميموري انه مش كافى لإتمام عملية استرجاع الباك اب ، وعشان تعرف اذا كانت المشكلة منها او لأ ، قبل ما تعمل استرجاع للباك اب، ادخل الشيل و نفذ الامر :


رمز Code:
cat /proc/user_beancounters


هتلاقي عندك تحت resource حاجه اسمها privvmpages وهي المحدد لك من استهلاك الرام امامها هتركز قبل استرجاع الباك اب على الرقم اللى تحت failcnt هو الطبيعي بتاعه 0 (failcnt دا عدد الوحدات اللى سيرفر SERVERك محدد له حاجه معينه من الـ resource وهو تعدي الحاجه دي ، الوحدات اللى تجاوزها او تعداها اثناء عملية ما بتظهر في failctnt وطبعا العملية اللى كان بيعملها وقتها وتعدي الـ limit بتاعه بيتعمل لها kill او قتل ) او لو موجود اي رقم ، فيبقى هو بيتعدى المحدد له من الرام اثناء عمليات على السيرفر SERVER ، المهم هتركز عليها قبل استرجاع الباك اب واعرف الرقم كويس ، واعمل استرجاع للباك اب ، ونفذ نفس الامر مرة تانية ، ولو لقيت الرقم الموجود امامprivvmpages تحت خانة failcnt زاد عن ما كان قبل عملية استرجاع الباك اب ، يبقى كدا بيتعدي السموح له من الرام وبيكون استهلك الرام استهلاك كامل والعملية محتاجة لاكتر عشان تكتمل، لو انت صاحب النود الرئيسي تقدر تزود للفي بي اس دا privvmpages

اعرف الـ uid الخاص بالفي بي اس اللى عايز تزود له privvmpagesمن خلال نفس الامر السابق هتلاقي حاجه اسمها uid وتحتها رقم ، الرقم دا هو ال uid الخاص بالفي بي اس ، وليكن مثلا على سبيل المثال 100

هتدخل الشيل للنود الرئيسي ، هديلك اكتر من قيمة تحددها للرام للفي بي اس ( 1024 او 2048)

لو هتحدد له 1 جيجا من الرام (1024 M) وكما ذكرت [على سبيل المثال رقم 100 هو رقم ال uid للفي بي اس ]:


رمز Code:
vzctl set 100 --privvmpages 262144:262144 --save


هتحدد له 2 جيجا (2048 M ) :


رمز Code:
vzctl set 100 --privvmpages 524288:524288 --save



بعدها ريستارت للفي بي اس



رمز Code:
vzctl restart 100




- حاجه تانية خالص ، انك تسترجع الباك اب يدوي

نقول مثلا ان الباك اب اسمه cpmove-user.tar.gz وموجود على السيرفر SERVER فى الهوم


رمز Code:
/home/cpmove-user.tar.gz


من الافضل انك تكريت له فولدر وتضعه بداخله ، يعني مثلا :


رمز Code:
mkdir /home/aabbcc

انقل ملف الباك اب للفولدر اللى كريته فى الهوم :


رمز Code:
mv /home/cpmove-user.tar.gz /home/aabbcc/cpmove-user.tar.gz

بعد كدا هتدخل للفولدر عشان تبدأ تفك ملف الباك اب :


رمز Code:
cd /home/aabbcc

هتبدأ فك ضغط الملف :


رمز Code:
tar -zxvf cpmove-user.tar.gz

بعد ما ينتهي ادخل الفولدر اللى اتفك :


رمز Code:
cd cpmove-user

لو عملت استعراض للملفات المجلدات بداخله من خلال الامر ls ، هتلاقي ملف بإسم homedir.tar ، هتفك ضغط الملف :


رمز Code:
tar -xvf homedir.tar

طبعا عملية فك الملف سواء الاخيرة او اللى قبلها ممكن تاخد وقت كبير على حسب مساحة الباك اب دا .

بعد ما ينتهي اعمل استعراض للملفات الموجودة من خلال الامر ls .

كدا بقى عندك اهم حاجتين عايزينهم فى الباك اب دا :

- الداتا الموجودة الخاصة بالموقع ، ودي موجودة فى مجلد www

- قواعد البيانات الخاصة بالموقع ، ودي موجودة فى مجلد mysql

- طيب احنا كدا الداتا موجودة والقواعد ، لكن ازاي هنركبها >> بسيطة ، هتكريت اكونت جديد على سيرفر SERVERك ويكون اليوزر بتاعه نفس اسم اليوزر الخاص بالموقع اللى فكيت الباك اب بتاعه (عشان حاجه واحدة بس ، لو الموقع عليه سكربتات كتير متعدلش فى كونفيج كل سكربت من اليوزر الموجود فى الملف لليوزر الجديد) ، يعني الافضل انك تنشأ اكونت بنفس اليوزر ، وطبعا احنا المثال بتاعنا هنا اليوزر اسمه user ، يعني كدا بعد انشاء الاكونت هيكون مساره كدا :


رمز Code:
/home/user



كويس جدا ، هنبدأ بنقل الداتا لليوزر اللى انشأناه ، هتدخل على مجلد www او public_html (الاتنين نفس محتوياتهم واحده) :


رمز Code:
cd www

جوا المجلد دا كل الملفات الخاصة بالموقع وتقدر تتأكد من وجودها من خلال الامر ls ، هنبدأ ننقلها للاكونت اللى كريتناه على السيرفر SERVER :





رمز Code:
mv * /home/user/www/



كدا نقلنا الملفات لليوزر ، بس ناقص اننا نعطي لليوزر دا الصلاحيات على الملفات والمجلدات دي انه يقدر يعدل او يحذف فيها ، لان طبعا انت نقلت له ملفات وانت بستخدم صلاحية روت مش يوزر ، بكدا اليوزر دا لو دخلت السي بانل CPANEL بتاعته او الاف تي بي وحاولت انك تعدل على او تحذف او تغير مسمي اي ملف مش هيقبل منك الكلام دا ، طيب دلوقتي نسيب التصريحات دي للاخر ونبدأ فى المهمة الكبيرة ، وهي تركيب install قواعد البيانات الخاصة بالاكونت اللى احنا فكينا الباك اب بتاعه يدوي >> على الاكونت الجديد اللى كريتناه على السيرفر SERVER ، يعن احنا نقلنا الملفات ومجلدات السكربتات فى الخطوة السابقة ، لكن لسه باقى القواعد ، ال mysql يابطل .

دي اللى ممكن تاخد منك وقت فعلاً لو الباك دا فيه قواعد كتيرة او بمعني تاني عنده سكربتات كتيرة شغالة باستخدام قواعد بيانات ، المهم نيجي لتركيب install القواعد دي ، احنا دلوقتي جوا فولدر www ، اللى هو دا :


رمز Code:
/home/aabbcc/cpmove-user/www


هنرجع خطوة للخلف عشان ندخل على فولدر mysql اللى فيه القواعد :


رمز Code:
cd .. cd mysql


تقدر تشوف القواعد الموجودة فى الباك اب دا بعد دخولك لمجلد mysql من خلال امر :


رمز Code:
ls

هتظهر لك بعدها كل قواعد البيانات واللى بتبدأ بإسم اليوزر :


رمز Code:
user_


و بتنتهي بـ .sql

ونقول مثلا انك لقيت القواعد دي اللى موجودة


رمز Code:
user_games.sql user_up.sql user_video.sql user_mob.sql user_vb.sql


دا مثلا يعني ممكن ما تلاقيش غير قاعدة واحدة او اتنين او تلاته وممكن تلاقي اللى تلاقيه هو كان صاحب الموقع مركب سكربتات كتير ملناش دعوه

طيب عشان لو القواعد دي كتير ومنعدلش فى ملف كونفيج كل سكربت ، من الافضل انك تدخل السي بانل CPANEL للاكونت اللى انت كريته على السيرفر SERVER وتدخل على www وتدخل على مجلد كل سكربت وتشوف القاعدة دي كانت شغاله ببيانات ايه على اليوزر دا قبل كدا ، طبعا مش هتدخل بالدومين (ممكن يكون لسه متفعلش) ، هتدخل بـ أي بي سيرفر SERVERك :


http://ip:2082 (http://ip:2082)




استبدل ip بـ أي بي سيرفر SERVERك ، هيطلب منك اليوزر والباس ، هتدخل له بيانات اليوزر اللى انت أنشأته على السيرفر SERVER واللى هو فى مثالنا هنا user والباسورد اللى عملته لليوزر دا .

بعدها هتدخل على ادارة الملفات او File Manager ، وتدخل www ، ونشوف اللى قلنا عليه ، مثلا سكربت من ضمن السكربت هو vb ، ندخل نشوف فى الكونفيج بتاعه هو كان بيانات القاعدة بتاعته ايه ، ودي الحاجات اللى محتاجينها (اسم القاعدة ، واليوزر الخاص بالقاعدة دي ، وباسورد اليوزر دا) :


رمز Code:
Database name Database user User password


تمام عرفنا بيانات القاعدة ، ولتكن مثلا على سبيل المثال :


رمز Code:
Database name = user_vb Database user = user_vb User password = vb

يبقى دلوقتي واحنا فى السي بانل CPANEL وعرفنا القاعدة كانت بياناتها ايه ، هندخل على My SQL Databases عشان ننشأ قاعدة ويوزر وباسورد بنفس البيانات اللى عرفناها من ملف الكونفيج دي ، وطبعا هنعطي لليوزر كافة الصلاحيات على القاعدة ، يعني هنكريت قاعدة (vb) ونكريت يوزر (vb) وباسورد اليوزر (vb) ونربط اليوزر مع القاعدة add user to data base مع اعطاء اليوزر كافة الصلاحيات على القاعدة دي all privileges

كويس اوي ، نيجي بقى لتركيب install القاعدة ، ما ننساش ان احنا فى الشيل جوا فولدر mysql اللى فيه القواعد ولازم عشان تنفذ الاوامر اللى جايه دي انك تكون جوا الفولدر اللى فيه القواعد دا عشان مسار ملف القاعدة اللى فى الامر اللى هنفذه عشان يركب لنا القاعدة دي ، من خلال الامر دا :


رمز Code:
mysql -u user_vb -pvb user_vb < user_vb.sql


- user_vb = دا اسم يوزر القاعدة اللى أنشأناه من السي بانل CPANEL
- vb = دا باسورد اليوزر دا
- user_vb = دا اسم القاعدة اللى أنشأناها من السي بانل CPANEL
- user_vb.sql = دا ملف القاعدة الموجود فى فولدر mysql واللى نفذنا امر زرعه على القاعدة الموضح بياناتها .

وهتنفذ الخطوات اللى فاتت دي اللى هي من اول الخطوة :

اقتباس
ونقول مثلا انك لقيت القواعد دي اللى موجودة

لحد اخر خطوة عملناها واللى هي تنفيذ امر زراعة ملف القاعدة على القاعدة اللى أنشأناها

الخطوات دي هنفذها على كل القواعد الموجودة واللى زي ما قلنا بتبدأ باسم اليوزر وبتنتهي بـ .sql

بعد كدا مننساش نعطي للاكونت اللى انشأناه التصاريح على الملفات ، من خلال تنفيذ الاوامر التالية ستقوم بعمل ضبط للتصاريح :


رمز Code:
chmod +s /bin/pwd /scripts/enablefileprotect /scripts/chownpublichtmls /scripts/fixeverything

اسف لو أطلت فى الموضوع ولكن حبيت اوضح اكتر من شئ فى الموضوع اللى يتعلق بالباك اب

تحياتي للجميع ، واي استفسار او طلب موجودين .



























https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى