السلام عليكم ورحمة الله
لاصحاب المواقع الذين لا تتوفر خدمة النسخ الاحتياطي في سيرفرات الشركة المستضيفة
سوف احاول اليوم اضع بين ايديكم طريقة لعمل نسخة احتياطية خارجية أم داخلية لقواعد البيانات ،،،، ويمكنكم تطويرها لاحقا كما تشاءون
طبعاالفكرة سوف يتم تنفيذها عبر الـPHP بمساعدت الـCron في عمليات الاستدعاء
- اول شي قم بانشاء مجلد خارج الـpuplic_html وليكن اسمه مثلا mysql_backup وضع الملفين المرفقين داخله.
- قم بإنشاء اسممستخدم لقاعدة البيانات وليكن اسمه backup واعطه صلاحيات الـlock و select لجميع قواعد البيانات التي تريد اخذ نسخ احتياطية منها
اليكم شرح مختصر لكود ملف الكونفيق :-
اولا
ولا يحتاج شرحكود PHP:
$dbhost = 'localhost';
قم بوضع اسماء قواعد البيانات في هذه المصوفوفةكود PHP:
$dbnames = array(
'<username>_my-database',
'<username>_another-database',
'<username>_and-so-on-and-so-forth');
وطبعا <username> هو اسمالمستخدم الخاص بموقعك
لا تنس ان تعدله في اسماء قواعد البيانات
اسم المستخدم الذي قمت بإنشاءه واعطيته صلاحيات الـlock و selectكود PHP:
$dbuser = '<username>_backup';
$dbpass = '<password>';
اذا كنت تود ان تستقبل الـBackup في الايميل ،واذا كنت لا تريد فقط قم بتغير الـtrue الى falseكود PHP:
$send_email = true; // 'true' sends an email, 'false' does not
ضع بريدك اعلاه واقترح بريد قوقلكود PHP:
$to_email = "Me <something@domain.tld>";
حجم المرفقات في الرسالة واذا كنت لا تريدان تستخدمه فقط ضع القيمة -1كود PHP:
$max_attachment = 5120;
معلومات الـFTP للسيرفر الذي تودوضع الملفات فيه ،،، واذا كنت تريدان تضعها في نفس سيرفر موقعك قمبكتابة معلومات موقعك كاملةكود PHP:
$ftp_server = "hostname";
$ftp_user = "username";
$ftp_password = "password";
وهذه أهم شيكود PHP:
$ftp_path = "mysql_backup";
اكتب المسار الذي انشاءت المجلد الخاص بالـBackup فيه والذي أسميناه mysql_backupكود PHP:
$working_path = "/home/<username>/mysql_backup";
لا تنس ان تعدل الى اسمالمستخدم الخاص بك
هذا خيار مهم ايضا ، وهو الخيار المسوؤل من عمليات الضغط ، ويمكنك تجميده ايضا بوضع كلمة falseكود PHP:
$use_gzip = true; // 'true' creates a gzipped tar archive, 'false' does not.
طبعا لا تنسوا لديكم خيارين لاستلام الـBackup
1- وهي كمرفقات في الايميل واقترح استخدام بريد قوقل
2- عبر الـFTP
طبعا الملفين في المرفقات ،، لا تضعوا ابدا الملفات في puplic_html
بعد ذلك اتجه الى الـcron jops من خلال لوحة التحكم cPanel وقم بتحديد الملف backup_mysql.php الموجود داخل الدليل mysql_backup
لا تضعوا أبداً هذه مالفات داخل الـpuplic_html لكي لا يعبث بكم العابثين
وآسفين للتقصير
ولكم الشكر
آخوكم - محمد