Joomla! Discussion Forums



It is currently Wed Nov 25, 2009 5:20 am (All times are UTC )

 





Post new topic Reply to topic  [ 14 posts ] 
Author Message
Posted: Mon Aug 13, 2007 10:09 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
السلام عليكم ورحمة اللة

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

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

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

لن أدخل في تفاصيل كثيرة عن crontab لكن ببساطة تستطيع القول بأنه يقوم بتوقيت الأوامر scheduling التي تجرى

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

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

يتبع ...

[/rtl]

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Mon Aug 13, 2007 11:54 pm, edited 1 time in total.

Top
   
 
Posted: Mon Aug 13, 2007 10:48 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
أولا: خطوة ما قبل التنصيب
والشرح معتمدا على إضافة 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

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

وهكذا يكون مستخدمنا جاهزا للتعامل مع السكريبت
يتبع ...
[/rtl]

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Mon Aug 13, 2007 11:56 pm, edited 1 time in total.

Top
   
 
Posted: Mon Aug 13, 2007 11:13 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
ثالثا: السكريبت
يوجد العديد منها علي الشبكة لكن فإخترت لكم إحداها
قمت بإستخدام سكريبت مجاني برخصة GNU/GPL من موقع PHPFreaks

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



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



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

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


[rtl]

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

Code:
$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"


[rtl]


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

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


[rtl]
مثلا: "home/user/backup"



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

Code:
$send_email = "yes";  // دعها كما هي مادمت تريد إستقبال نسخة علي بريدك
$to      = "you@yourdomain.com";  // البريد الذي سوف تستقبل عليه النسخة، لابد وأن يكون حقيقيا + سعة مناسبة (أفضل gmail
$from    = "r00t@yourdomain.com"; // بريد الراسل، يعني لمعرفة من أرسل إليك


[rtl]


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

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


[rtl]


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

يتبع ...
[/rtl]


You do not have the required permissions to view the files attached to this post.

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Tue Aug 14, 2007 12:00 am, edited 1 time in total.

Top
   
 
Posted: Mon Aug 13, 2007 11:23 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
رابعا: حفظ + رفع السكريبت للسيرفر

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

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

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

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

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

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

يتبع ...
[/rtl]

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Tue Aug 14, 2007 12:00 am, edited 1 time in total.

Top
   
 
Posted: Mon Aug 13, 2007 11:52 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
خامسا: 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 للحصول علي قاعدة بيانات حملة

إذا يكون أمر كرونتاب كالتالي
[/rtl]

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


[rtl]


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

Code:
15 19 * * 2 php /home/catswrld/backup/dbsndwp.php > /dev/null


[rtl]
وهكذا




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

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


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

أسال الله أن يكون هذا مفيدا لكم
ولا تنسونا من صالح دعائكم
[/rtl]

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Tue Aug 14, 2007 1:04 am, edited 1 time in total.

Top
   
 
Posted: Tue Aug 14, 2007 5:26 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
إضافة أولي: التجربة
للتأكد من عمل السكريبت جيدا، تسستطيع أن تخبر crontab بأن يرسل لك النسخة الإحتياطية كل خمس دقائق أو عشر دقائق مثلا
وإذا ما إطمأننت أن الموضوع سلس، غير قيمة crontab لتكون في الوقت الذي تحدده

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

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




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

يعني المثال السابق ذكره:
[/rtl]
Code:
30 12 * * 5 php /home/catswrld/backup/dbsndjm.php > /dev/null


[rtl]
هذا يعني يوم أن الكرون سوف يعمل كل جمعة الساعة 12:30 ظهرا بتوقيت السيرفر

ففضلا راع إختلاف التوقيت بين بلدك وبين بلد مزود الخدمة ولا تجزع إذ لم يصل إليك البريد بتوقيتك
[/rtl]

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Thu Aug 16, 2007 10:03 pm, edited 1 time in total.

Top
   
 
Posted: Wed Aug 15, 2007 7:41 am 
User avatar
Joomla! Ace
Joomla! Ace
Offline

Joined: Fri Dec 01, 2006 9:26 am
Posts: 1607
Location: Centerville, Virginia
أحسنت بارك الله فيك... استمر وفقك الله

تم التثبيت للفائدة

_________________
Live and learn.. No matter what you earn..Money or knowledge.. From market or college..
____________________________________________________
http://alhost.org/ هل تبحث عن إستضافة؟ مقارنة بين أفضل شركات الإستضافة
My Personal Website: http://eyad.info/


Top
  E-mail  
 
Posted: Thu Aug 16, 2007 7:31 am 
User avatar
Joomla! Explorer
Joomla! Explorer
Offline

Joined: Tue Jan 23, 2007 5:11 pm
Posts: 382
Location: Saudi Arabia
شرح رائع ومعلومات كنت في أمس الحاجة إليها

شكراً أيها المتألق
وشكراً على تثبيت الموضوع

_________________
Yasser Kinanah
@ www.Jazit.net
@ www.eLoom.org
I don't speak Arabic not English nor French nor any other language .. I just speak Google


Top
  E-mail  
 
Posted: Thu Aug 16, 2007 9:53 pm 
Joomla! Guru
Joomla! Guru
Offline

Joined: Fri Dec 29, 2006 11:57 pm
Posts: 630
[rtl]
بارك الله فيكم،

قمت الحمد لله بتعديل المشاركة الأخيرة -الخامسة- لتوضيح معلومة هامة وهي خاصة بميعاد الكرون
[/rtl]

_________________
Me = Wonder + Ponder
http://www.hichamaged.net/


Last edited by HH on Thu Aug 16, 2007 10:04 pm, edited 1 time in total.

Top
   
 
Posted: Fri Aug 17, 2007 10:59 pm 
Joomla! Fledgling
Joomla! Fledgling
Offline

Joined: Tue Jul 31, 2007 6:53 am
Posts: 3
شرح رائع اخي الكريم ,, بارك الله بك ,,  :laugh:

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

تحياتي


Top
   
 
Posted: Sun Dec 23, 2007 11:48 pm 
User avatar
Joomla! Enthusiast
Joomla! Enthusiast
Offline

Joined: Wed Jul 25, 2007 4:20 am
Posts: 110
تبارك الرحمن

_________________
LibyanYoung.Com


Top
  E-mail  
 
Posted: Fri Jan 25, 2008 2:08 pm 
User avatar
Joomla! Apprentice
Joomla! Apprentice
Offline

Joined: Sat Aug 11, 2007 6:48 pm
Posts: 35
Location: Iraq
معلومات مفيدة جداً، ما قصرت
بارك الله فيك


Top
  E-mail  
 
Posted: Sat Feb 09, 2008 6:27 pm 
User avatar
Joomla! Guru
Joomla! Guru
Offline

Joined: Sat Oct 14, 2006 5:25 pm
Posts: 634
Location: Kuwait
[rtl]جزاك الله كل خير. كنت أبحث عن طريقة مثل هذه منذ فترة.
المشكلة الوحيدة هي في joomlapack إذ أن القاعدة المصدرة تكون بمحارف غريبة للأسف.[/rtl]


Top
   
 
Posted: Tue Nov 18, 2008 10:22 am 
Joomla! Apprentice
Joomla! Apprentice
Offline

Joined: Fri Sep 26, 2008 12:46 pm
Posts: 30
Location: mhrde
الف شكر لك وجاري التجريب

_________________
مدينة محردة مدينة الخير والسلام
http://www.mhrde.com


Top
  E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

Quick reply

 



Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group