شرح: استقبل القاعدة على بريدك

إذا كان لديك أسئلة تتعلق بجوملا! ليست مرتبطة بالأقسام الأخرى قم بوضعها هنا

Moderators: sherif, General Support Moderators

Post Reply
HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

شرح: استقبل القاعدة على بريدك

Post by HH » Mon Aug 13, 2007 10:09 pm

السلام عليكم ورحمة اللة

شرحت لكم سابقا إضافة لعمل نسخة إحتياطية كاملة من الموقع + القاعدة
http://forum.joomla.org/index.php/topic,200566.0.html

سوف أشرح لكم إن شاء الله كيفية إستقبال قاعدة بيانات جملة!
وتستطيع أيضا إستخدامه لكافة قواعد أخرى -لو أحببت- عبر بريدك بدون اللجوء لتركيب تطبيقات إضافية

الفكرة كلها تتمحور حول تطبيقين
  • الأول: تطبيق PHP الذي يقوم بالنسخة الإحتياطية + إرسالها عبر بريدك الإلكتروني
  • الثاني: برنامج crontab وهو متوفر في أغلب لوحات التحكم للمضيف
لن أدخل في تفاصيل كثيرة عن crontab لكن ببساطة تستطيع القول بأنه يقوم بتوقيت الأوامر scheduling التي تجرى

ببساطة أكثر، في حالتنا هذه، سوف نخبره أن يقوم بتشغيل تطبيق البي إتش بي في ميقات معلوم

والخطوات كالتالي إن شاء الرحمن

يتبع ...
Last edited by HH on Mon Aug 13, 2007 11:54 pm, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by HH » Mon Aug 13, 2007 10:48 pm

أولا: خطوة ما قبل التنصيب
والشرح معتمدا على إضافة FireFTP التي أخبرتكم عنها سابقا
http://forum.joomla.org/index.php/topic,200112.0.html


سوف نقوم بإنشاء مجلد خارج مجلد الويب وفي هذا ضمانا أمنيا بعدم إقتحام أية متسللين إليك
ولا تقلق من تصريح البوينج هذا 777 يعني مادام المجلد خارج مجلد الويب
:)

Image



ثانيا: إنشاء مستخدم للولوج لقاعدة البيانات
كل تطبيق يعتمد علي PHP يقوم بإنشاء قاعدة بيانات خاصه به ويكون لها
  • مستخدم or dbuser
  • كلمة مرور or dbpass
  • القاعدة نفسها or dbname
وفي العادة يكون هذا المستخدم له كافة الصلاحيات Privileges: ALL PRIVILEGES القاعدة للتعامل مع

المهم، سوف تقوم حضرتك بإنشاء مستخدم جديد كالتالي:
أ- دخل على لوحة التحكم الخاصة بمزوك وفي هذا المثال هي CPanel
ب - Advanced ==> MySQL Manager
ج - Users ===> Username, Passworrd: أدخل إسم جديد لمستخدم + كلمة مرور وإحفظهما ثم Add
د - من Assign Permissions: سوف تقوم بإختيار إسم المستخدم الجديد ثم تختار إسم قاعدة البيانات ثم Submit

من المفصل إعطاء التصاريح لهذا المستخدم لكل قواعد البيانات لديك إذ رغبت في إرسالها إلي يريدك

وهكذا يكون مستخدمنا جاهزا للتعامل مع السكريبت
يتبع ...
Last edited by HH on Mon Aug 13, 2007 11:56 pm, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by HH » Mon Aug 13, 2007 11:13 pm

ثالثا: السكريبت
يوجد العديد منها علي الشبكة لكن فإخترت لكم إحداها
قمت بإستخدام سكريبت مجاني برخصة GNU/GPL من موقع PHPFreaks

أ-  تستطيع تحميله من رابط مطوره أو من خلال المرفقات في هذه الرسالة
http://www.phpfreaks.com/script/view/11.php



ب - فك ضغط الملف وإفتح ملف dbsender.php وهو التطبيق بأحد البرامج مثل نوتباد بلس



ج - إذهب للسطر رقم 32 وفيه أدخل القيم التي قمت بإنشائها سابقا
لا تنس أن تضغها بين الأقواس كما هي في الكود
مثال: $dbname = 'catsworld_joomla'

Code: Select all

$dbhost = 'localhost'; // لا تستبدله، فعاده هذه هي القيمة الصحيحة
$dbuser = 'your_username'; // أدخل اسم المستخدم الذي أنشأناه في الخطوة السابقة
$dbpass = 'yourpass'; // أدخل كلمة السر للمستخدم الذي أنشأناه في الخطوة السابق
$dbname = 'database_name'; // أدخل اسم قاعدة البيانات المراد الحصول عليها

د - لا تقم بتغيير قيم الأسطر رقم 39، 40 ، 41 اللهم إلا إذ أحببت ذلك

Code: Select all

$use_gzip = "yes";  // Set to No if you don't want the files sent in .gz format
$remove_sql_file = "yes"; // Set this to yes if you want to remove the .sql file after gzipping. Yes is recommended.
$remove_gzip_file = "no"; // Set this to yes if you want to delete the gzip file also. I recommend leaving it to "no"


هــ - السطر 45 هام لتحديد  مسار النسخة + السكريبت

Code: Select all

$savepath = "/www/htdocs/dbsender"; // قم بتغيير هذه القيمة إلي المسار الذي أنشأناه في الخطوة الأولي
مثلا: "home/user/backup"



هــ - السطر 47 هام لتحديد  مسار النسخة + السكريبت

Code: Select all

$send_email = "yes";  // دعها كما هي مادمت تريد إستقبال نسخة علي بريدك
$to      = "[email protected]";  // البريد الذي سوف تستقبل عليه النسخة، لابد وأن يكون حقيقيا + سعة مناسبة (أفضل gmail
$from    = "[email protected]"; // بريد الراسل، يعني لمعرفة من أرسل إليك


و - السطر 53 هام لتحديد موضوع الرسالة + نصها

Code: Select all

$subject = "MySQL Database Backup - $senddate"; // غير ما قبل المتغير -$ إذا احببت تغيير عنوان الرسالة
$message = "Your MySQL database has been backed up and is attached to this email"; // نص الرسالة، غريه إن شئت لكن إجعله قصيرا


ز - لا تقم بتغيير أية قيم أخرى إلا إذا كنت مستخدما متقدما Advanced user

يتبع ...
You do not have the required permissions to view the files attached to this post.
Last edited by HH on Tue Aug 14, 2007 12:00 am, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by HH » Mon Aug 13, 2007 11:23 pm

رابعا: حفظ + رفع السكريبت للسيرفر

أ - قم برفع الملف إلي المجلد الذي أنشانأه في الخطوة الأولي وهو نفس المسار المكتوب في سطر 45

ب - أعط الملف تصريح 711 وتأكد أن المجلد ككل له تصريح 777
(تصريح البوينج كما لابد وعرفتم)
:)

ملحوظة هامة:
يتعامل هذا السكريبت مع قاعدة بيانات واحدة فقط، فلو كنت تريد أن يرسل لك كل قواعد البياتات، قم بالتالي
أ - قم بعمل نسخ من هذا الملف مساوية لعدد قواعد بياناتك وأعط كل منها إسم  مميز أو رقم مثلا

ب - غير قيمة $dbname في سطر 35 إلي إسم قاعدة البيانات التي تريد الحصول عليها

ج - قم برفع هذه الملفات إلي المجلد السابق ذكره مع إعطائها تصريح 711

وهنا يتضح فائدة وجود مستخدم واحد لكل قواعد البيانات

يتبع ...
Last edited by HH on Tue Aug 14, 2007 12:00 am, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by HH » Mon Aug 13, 2007 11:52 pm

خامسا: crontab وخلفية مبسطة

لفهم كيفية عمل crontab, فضلا راجعوا مقالة ويكيبيدا
http://en.wikipedia.org/wiki/Crontab

ببساطة نحن إتفقنا علي أنه برنامج لتنفيذ أمر ما في وقت معلوم لذا فالأمر ببساطة فأمر كرونتاب كالنالي

min hour day month weekday command
*    *    *    *          *        أمر كرونتاب
بحيث
  • minute (0 - 59)
  • hour (0 - 23)
  • day of month (1 - 31)
  • month (1 - 12)
  • day of week (0 - 7) (Sunday=0 or 7)
يعنني إختيارك للقيم هو الذي يحدد ميعاد البرنامج

تابعوا الشرح وسوف تجدوا الموضوع سهل إن شاء الله



سادسا: إستخدام كروناب crontab لإستقبال النسخة

أ - إدخل على لوحة التحكم CPanel الخاصة بمزودك

ب - Site Management ===> Crontab ==> Advanced (Unix Style)

ج - أدخل البريد الذي تود إستقبال عليه نتائج الأمر في حالة حدوث خطأ، وهذا لا علاقه له بالسكريبت

بالمثال يتضح المقال
  • بإفتراض أن المستخدم هو catswrld
  • وأن الإسكريبت الذي قمنا بإعداه بعد إدخال القيم وتغيير التصاريح هو dbsndjm.php
  • وأن المسار هو /backup
نريد من crontab أن يقوم بتشغيل السكريبت كل يوم الجمعة الساعة 12:30 للحصول علي قاعدة بيانات حملة

إذا يكون أمر كرونتاب كالتالي

Code: Select all

30 12 * * 5 php /home/catswrld/backup/dbsndjm.php > /dev/null


إذا كان لديك سكريبت أخر بإسم dbsndwp.php وهو خاص بورد بريس
أن يقوم بتشغيل السكريبت كل يوم ثلاثاء الساعة 7:15 مساء للحصول علي قاعدة بيانات
إذا يكون أمر كرونتاب كالتالي

Code: Select all

15 19 * * 2 php /home/catswrld/backup/dbsndwp.php > /dev/null
وهكذا




سابعا: راجع بريدك الإلكتروني
You've got mail :)

من خلال القيم التي أدختها في أسطر  48، 49، 53، 54
سوف تتعرف علي رسالة البرنامج وبها مرفقات في صورة .tar.gz


ويوجد على الشبكة الكثير من التطبيقات الأخرى سكريبتات تسنطيع إستخدامها بهذه الطريقة

أسال الله أن يكون هذا مفيدا لكم
ولا تنسونا من صالح دعائكم
Last edited by HH on Tue Aug 14, 2007 1:04 am, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by HH » Tue Aug 14, 2007 5:26 pm

إضافة أولي: التجربة
للتأكد من عمل السكريبت جيدا، تسستطيع أن تخبر crontab بأن يرسل لك النسخة الإحتياطية كل خمس دقائق أو عشر دقائق مثلا
وإذا ما إطمأننت أن الموضوع سلس، غير قيمة crontab لتكون في الوقت الذي تحدده

توقيت كل عشر دقائق في المثال المفترض يكون كالتالي

Code: Select all

10 * * * * php /home/catswrld/backup/dbsndwp.php > /dev/null

إضافة ثانية: التوقيت
يعتمد crontab علي توقيت السيرفر يعني server time

يعني المثال السابق ذكره:

Code: Select all

30 12 * * 5 php /home/catswrld/backup/dbsndjm.php > /dev/null
هذا يعني يوم أن الكرون سوف يعمل كل جمعة الساعة 12:30 ظهرا بتوقيت السيرفر

ففضلا راع إختلاف التوقيت بين بلدك وبين بلد مزود الخدمة ولا تجزع إذ لم يصل إليك البريد بتوقيتك
Last edited by HH on Thu Aug 16, 2007 10:03 pm, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

User avatar
emakki
Joomla! Ace
Joomla! Ace
Posts: 1686
Joined: Fri Dec 01, 2006 9:26 am
Location: Centreville, Virginia
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by emakki » Wed Aug 15, 2007 7:41 am

أحسنت بارك الله فيك... استمر وفقك الله

تم التثبيت للفائدة
Live and learn.. No matter what you earn..Money or knowledge.. From market or college..
_______
http://alhost.org هل تبحث عن إستضافة؟ مقارنة بين أفضل شركات الإستضافة
http://alhost.me دليل ومعاينة شركات الاستضافة العربية

User avatar
Specialist
Joomla! Explorer
Joomla! Explorer
Posts: 381
Joined: Tue Jan 23, 2007 5:11 pm
Location: Saudi Arabia
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by Specialist » Thu Aug 16, 2007 7:31 am

شرح رائع ومعلومات كنت في أمس الحاجة إليها

شكراً أيها المتألق
وشكراً على تثبيت الموضوع
Yasser Kinanah
@ Jazit.co - Twitter

HH
Joomla! Guru
Joomla! Guru
Posts: 605
Joined: Fri Dec 29, 2006 11:57 pm
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by HH » Thu Aug 16, 2007 9:53 pm

بارك الله فيكم،

قمت الحمد لله بتعديل المشاركة الأخيرة -الخامسة- لتوضيح معلومة هامة وهي خاصة بميعاد الكرون
Last edited by HH on Thu Aug 16, 2007 10:04 pm, edited 1 time in total.
Me = Wonder + Ponder
http://www.hichamaged.net/

ZERIAB
Joomla! Fledgling
Joomla! Fledgling
Posts: 3
Joined: Tue Jul 31, 2007 6:53 am

Re: شرح: استقبل القاعدة على بريدك

Post by ZERIAB » Fri Aug 17, 2007 10:59 pm

شرح رائع اخي الكريم ,, بارك الله بك ,,  :laugh:

و شكرا لكم على تثبيت الموضوع

تحياتي

User avatar
LibyanYoung
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 112
Joined: Wed Jul 25, 2007 4:20 am
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by LibyanYoung » Sun Dec 23, 2007 11:48 pm

تبارك الرحمن
LibyanYoung.Com

User avatar
majik
Joomla! Apprentice
Joomla! Apprentice
Posts: 33
Joined: Sat Aug 11, 2007 6:48 pm
Location: Iraq

Re: شرح: استقبل القاعدة على بريدك

Post by majik » Fri Jan 25, 2008 2:08 pm

معلومات مفيدة جداً، ما قصرت
بارك الله فيك

I-MAG
Joomla! Guru
Joomla! Guru
Posts: 974
Joined: Sat Oct 14, 2006 5:25 pm
Location: Kuwait

Re: شرح: استقبل القاعدة على بريدك

Post by I-MAG » Sat Feb 09, 2008 6:27 pm

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

tiger-1
Joomla! Intern
Joomla! Intern
Posts: 50
Joined: Fri Sep 26, 2008 12:46 pm
Location: mhrde
Contact:

Re: شرح: استقبل القاعدة على بريدك

Post by tiger-1 » Tue Nov 18, 2008 10:22 am

الف شكر لك وجاري التجريب
مدينة محردة مدينة الخير والسلام
http://www.mhrde.com


Post Reply

Return to “القسم العام”