أهلا بك. إذا كانت هذه زيارتك الأولى فإني أنصحك بالإشتراك في خدمة RSS . لتحصل على المواضيع الجديدة فور نشرها. ويمكنك متابعتنا من خلال Twitter و Identi.ca
عملية النسخ الاحتياطي (Backup) غاية في الأهمية ﻷي عمل نقوم عليه ويجب علينا القيام به بشكل دوري حتى نضمن الحفاظ على بياناتنا (ملفات – إعدادات – قواعد بيانات) بشكل سليم حتى لو حصل أي ضرر للسيرفر (الهارد مثلاً)أو تخريب أو اختراق كل ماعليك إعادة رفع النسخة الاحتياطية السليمة والأحدث ويادار مادخلك شر
موضوعنا نتكلم فيه عن عمل نسخ احتياطي تلقائي اتوماتيكي (يومي – أسبوعي – شهري) لجميع قواعد البيانات MySql الموجودة على السيرفر
سنستخدم لهذه الغاية سكربت AutoMySQLBackup الموجود على موقع SourceForge
A script to take daily, weekly and monthly backups of your MySQL databases using mysqldump. Features – Backup mutiple databases – Single backup file or to a seperate file for each DB – Compress backup files – Backup remote servers – E-mail logs – More..
الشرح:
نقوم بتحميل السكربت
ونحرر السكربت من أجل التعديل عليه وإضافة المعلومات اللازمة باستخدام nano , vi لاحظ المقطع التالي هو مايلزمنا
USERNAME=dbuser
# Username to access the MySQL server e.g. password
PASSWORD=password
# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost
# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
DBNAMES="DB1 DB2 DB3"
# Backup directory location e.g /backups
BACKUPDIR="/backups"
# Mail setup
# What would you like to be mailed to you?
# - log : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
MAILCONTENT="stdout"
# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])
MAXATTSIZE="4000"
# Email Address to send mail to? (user@domain.com)
MAILADDR="user@domain.com"
نستبدل dbuser باسم المستخدم لسيرفر MySql
نستبدل password بكلمة السر الخاصة بالمستخدم
نستبدل DB1 DB2 DB3 بأسماء قواعد البيانات الموجودة على السيرفر اللي نريد ناخذ منها نسخة احتياطية
نستبدل /backups بالمسار اللي نريد يتم فيه حفظ النسخ الاحتياطية
استبدل user@domain.com بإيميلك إذا أردت أن يتم إرسال نسخة على الايميل
بقي علينا خطوة ليقوم بالعمل بشكل تلقائي
انسخ هذا السكربت إلى المجلد
وأعطيه صلاحية التنفيذ
ومبروك عليك






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



طيب لو نريد عمل مثلا القواعد تاخذ نسخ داخلية بالسيرفر الساعة 12 ظهرا بداخل السيرفر
و نعمل امر تاني الساعة 5 بعد الظهر يعني لما ينتهي نسخ القواعد الداخلي يتم نقله لسيرفر خارجي
طبعا العملية يلزمها برمجة بالكرون او انا خاطئ
انت تعرف الطلب ده لايش لأنه لا سمح الله اخترق اي موقع و راحت القاعدة بيكون عندنا اكثر من حل سواء باك آب داخلي للقواعد او باك آب كامل للمواقع و كمان باك آب خارجي للمواقع و كمان باك آب خارجي للقواعد
شكرا لك و متابع مواضيعك
أهلا بك أخوي اسامة
طبعا كلامك وتفكيرك صحيح ﻷن عملية النسخ الإحتياطي مهمة جدا وتدل على احتراف هذا العمل
انت ممكن تعمل شل سكربت يقوم بهذه العملية بشكل دوري
وفي طريقة حلوة كثير ممكن تعمل مزامنة لمجلد backup على سيرفر ثاني باستخدام rsync وأيضا ممكن تستخدم nfs
ولاتنسى تنزل ملفات BACKUP الاسبوعي أو الشهري على جهازك الخاص
شكرا لك على ردك السريع
هل ممكن ان تشرح لنا عملية برمجة سكريبت شيل بسيط للامر ده و شرح المخرجات او ما بعرف ايش ههههه انا جديد على البرمجة الخاصة بالشيل سكريبت كنت قريت عنها من قبل و عن اسم الطرق البرمجية بس مش فاكر الحين يلزمني اتعلمها عن جد
لو تقدر لا تبخل علينا بالأساسيات و انا عارفك تقدر ولو بالبحث انا كمان حبحث لا تخاف :)
اخوك اسامة من المغرب