هاست لینوکس

آخرین بسته‌ی MyBB: نسخه‌ی 1.8.27 MyBB منتشر شد


امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در اجرای Cron Job
#1
سلام من از آموزش زیر برای پشتیبان گیری اتوماتیک از دیتابیس استفاده کردم(برنامه phpMyBackupPro)

مشکل ام اینجا هست که به صورت دستی می تونم بکاپ بگیرم از طریق این اسکریپت و به ایمیل هم ارسال میشه

ولی وقتی Cron Job تعریف می کنم، کار نمی کنه. احتمال زیاد دارم دستور را اشتباه می دم.

لطفا راهنمایی کنید که آیا دستور مشکل داره داره یا نه ؟ و اینکه نحوه دستور دهی در سی پنل با دایرکت ادمین فرق داره ؟

توی آموزش گفته باید این جوری وارد بشه :

کد php:
usr/bin/php/home/username/public_html/Backup/backup.php db1,db2,db3 1 1 0 1 


من هم اینجوری دارم می دم :

کد php:
usr/bin/php/home/*******/domains/irangeotechnic.com/public_html/auto-backup/auto-backup.php ************* 1 1 0 1 


Heart

نقل‌قول: سلام

یک مدت هست که درگیر یک پروژه هستم و چون حجم کار کمی بالاست تصمیم داشتم برنامه ای بنویسم که از دیتابیس به صورت خودکار بک آپ تهیه کنه ، خوشبختانه قبل از شروع کار ، یک جستجو کردم و یک برنامه جالب در این مورد رو پیدا کردم که دیگه نیازی به وقت گذاشتن برای نوشتن همچین برنامه ای نیست .

خوب اگر از کاربران حرفه ای سی پنل باشید میدونید بخشی وجود داره به نام cron Job که میتونه اسکریپتهای شما رو در زمان معینی اجرا کنه .
مثلا من در گذشته یک برنامه نوشته بودم که با کمک CronJob و Smtp سرورهای جیمیل و یاهو و ... هر چند دقیقه تعدادی ایمیل ارسال میکرد و در تمام طول شبانه روز ارسال ایمیل بدون مشکل انجام میشد .

خوب در این آموزش ما میتونیم از وبسایتمون پشتیبان گیری خودکار داشته باشیم تا خیالمون از بابت هک شدن سرورهای هاستینگ و ... راحت باشه !

این آموزش رو از سایت وی بی اسکین پیدا کردم و خودم تست نکردم. با این حال اگر مشکلی داشته باشه با هم فکری هم مشکل رو حل میکنیم !
بنابر این توضیحات خودشون رو قرار مدیم :

__________________________________________________ ______


با استفاده از برنامه phpMyBackupPro ميتونيد بكاپ گيري از ديتابيسهاي انجمن خودتون رو بطور خودكار در هر ساعت از شبانه روز كه خواستيد بروي هاست خودتون داشته باشيد يا با استفاده از تنظيمات برنامه اون رو به هاست ديگه و حتي در ايميل خودتون دريافت كنيد !

طريقه نصب برنامه و توضيحات :

براي شروع شما نیاز به دریافت برنامه phpMyBackupPro دارید که میتوانید از اینجا دریافت کنید:


دقت کنید که ورژن نهایی یعنی phpMyBackupPro v2.1 را دریافت کنید. از دريافت ورژن بتا خودداري كنيد. (چون معلوم نيست هنوز درست كار ميكنه يا نه )
نیازی به دریافت فایل زبان نیست.



پوشه phpMyBackupPro را به همانگونه که هست به روی سرور خود در public_html آپلود کنید.
برای اطمینان بیشتر نام این پوشه را به دلخواه تغییر دهید. برای نمونه ما نام جدید را backup میگذاریم.

سطح دسترسی پوشه export را به 777 تغییر دهید.

سطح دسترسی فایل global_conf.php را نیز به 777 تغییر دهید.

در مرورگر خود فایل config.php را فراخوانی کنید. برای [تصویر:  photos.png] نمونه:

کد:

http://www.yoursite.com/backup/config.php


شما هم اکنون وارد کنترل پنل این برنامه شده اید و باید آنرا تنظیم کنید. دقت کنید که در تنظیمات همه مشخصات را درست بنویسید. به نمونه های زیر دقت فرمایید:


sitename*: نام سايت را اینجا بنویسید. (هرنامی که باشد فرقی نمیکند)

MySQL hostname*: معمولاlocalhost است. اگر شک دارید از مسئول هاست بپرسید.

MySQL username*: نام کاربری که برای دیتابیس خود انتخاب کرده اید را بنویسید.


معمولا در سرور هاي لينوكس با كنترل پنل cPanel نام كاربر به صورت زير است
HostUsername_BDusername

MySQL password*: مانند گزینه بالا. >رمز عبور یا پسورد دیتابیس را بنویسید. اين پسورد مربوط بهUserName ديتابس هست.



only this database: اگر فقط میخواهید از یک بانک اطلاعاتی پشتیبانی بگیرید نام آنرا اینجا بنویسید. برای [تصویر:  photos.png] نمونه: mysite_DBname

در صورتي كه در اين كادر نام ديتابس خودتون رو بنويسيد فقط از اون ديتابيس نسخه پشتيبان تهيه ميشه. >ولي اگر شما روي سايت خودتون بيشتر از يك ديتابيس داريد و ميخواهد از همه اون هاBacoup تهيه كنيد اين گزينه رو خالي بگزاريد.

save backups per FTP: در این فیلدها میتوانید مشخصات ftp خودتان را بنویسید.

در صورتي كه اين قسمت رو كامل و درست پر كنيد ، نرم افزار يك نسخه از فايل پشتيبان رو به FTP مشخص شده ارسال ميكنه.


Backup per email : اگر میخواهید فایل پشتیبانی به ایمیل شما فرستاده شود اینجا نشانی خودتان را بنویسید. >بهتر است براي اين كار ازEmail >هايGmail >و ياYahoo استفاده كنيد، چون فضاي زيادي دارند و ميتوانند فايل هاي چند ماه شما رو نگهداري كنند.


در پایان روی دکمه Save Data کلیک کنید.



اگر سطح دسترسی ها را درست تنظیم کرده باشید پیام سبز رنگی در بالای صفحه نمایان میشود که همه چیز به خوبی ذخیره شد.


کار تنظیمات به پایان رسید. حال بایستی در بخش schedule backup گرفتن پشتیبانی را برنامه ریزی کنید.

چند نكته بسيار قابل توجه:




از نام backup يا موارد مشابه كه قابل حدس زدن باشد براي پوشه اي كه اين برنامه را روي آن نصب كرده ايد استفاده نكنيد.
بعد از زدن گزينه Save Data در مرحله قبلي بدون آگاهي از عمل كرد گزينه ها روي اين كليك نيكند. چون اين برنامه به صورت مستقيم به ديتابيس شما متصل استو هر گونه تغییری ممکن است موجب پاک شدن یا بهم ریختن دیتابیس شما شود.

در صورتي كه در مرحله قبلي از برنامه خارج شده ايد (Logout) جهت ورود به برنامه از نام كاربري و پسوردي كه براي ديتابيس وارد كرده ايد استفاده كنيد.
در بخش schedule backup و در بالای برگ باید از منوی کشویی Select backup period زمانهایی را که میخواهید بک آپ خودکار گرفته بشه را مشخص کنید. اگر میخواهید از Cron job استفاده کنید(که پیشنهاد میکنم حتما اینکار را بکنید) گزینه Att each call را انتخاب کنید.

در بخش Select directory where the php file will be placed هم از منوی کشویی زیر آن پوشه ای را که میخواهید فایل بک آپ در آن نگهداری شود را انتخاب کنید. برای نمونه backup/export.. جای خوبی است.
بخش Select databases to backup هم که مشخصه. باید از اون لیست زیر دیتابیس خودتان را علامت گذاری کنید.
تمام گزینه های زیر Comments را تیک بزنید و نوع فایل مورد درخواست را از منوی کشویی جلوی آن انتخاب کنید. بهتره Gzip را انتخاب کنید که حجم فایل کمتر باشد.
export tables : در صورتي كه اين گزينه رو تيك بزنيد، از جداول ديتابس شما هم نسخه پشتيبان تهيه ميشه
export data : اين رو هم حتما تيك بزنيد چون اصل كاري اين هست و باعث ميشه از كل اطلاعات نسخه پشتيبان تهيه بشه
add 'drop table' : با انتخاب اين گزينه امكاني به فايل Backup اضافه ميشه كه باعث ميشه وقتي مي خواهيد از اين فايل استفاده كنيد. در هنگام import جداول و اطلاعات موجود رو در نظر نگيره و همه اون ها رو پاك كنه و اطلاعات موجود در فايل backup رو وارد كنه(توصيه ميكنم اين گزينه رو انتخاب نكنيد) سپس روی دکمه show script کلیک کنید تا به صفحه بعدي بروید.

در آنجا به شما کدهایی داده میشود که بایستی در یک فایل با نامی که میخواهید ذخیره کنید. در زیر این کدها هم فیلدی وجود دارد که درون آن میتوانید نام فایل انتخابی را بنویسید تا برنامه برای شما این کدها را ذخیره کند. >یک نام انتخاب کرده و در فیلد بنویسید. برای نمونه : my.php



پس از ذخیره کردن دیگر تقریبا کار ما با این برنامه تمام شده است. در مراحل بعدي بايد اين برنامه را به دست توانای cPanel و برنامه Cron job بسپاریم. اگر در برنامه کاری ندارید خارج شوید و به سی پنل هاست خود وارد شوید.


کار در cPanel
كنترل پنل هاي مختلفي بر روي سرور ها وجود دارد كه ما به دليل اين كه كنترل پنل cPanel يكي از پركاربرد ترين كنترل پنل ها ميباشد دستوارت زير را در اين كنترل پنل انجام مي دهيم

پیش از هر کار بايد نرم افزار كه براي backup گيري را نصب كرده ايم را ايم كنيم مرحله لوگین کردنی که این اسکریپت در اختیار ما میگذارد برای جلوگیری از نفوذ دیگران به این اسکریپت و در نهایت دستیابی به دیتابیس ما کافی نیست. پس باید چاره ای اندیشید که دسترسی به آن پوشه تقریبا غیر ممکن تر شود.

برای اینکار در سی پنل روی گزینه Password Protect Directories کلیک کنید تا وارد آن بخش شوید.

در آنجا روی نام پوشه ای که برای این اسکریپت انتخاب کردید کلیک کنید. برای نمونه من روی نام پوشه Backup کلیک میکنم.



در آنجا گزینه Directory requires a password to access via the web را تیک بزنید.
سپس در پایین همان برگ در فیلدهای User Name: و password نام کاربری و رمزعبوری را که فراموش نمیکنید را بنویسید و جلوی آن روی دکمه Add/Modify authorized user کلیک کنید که این نام و پسورد به لیست بالای آن افزوده شود.
پس از آن روی دکمه Save در بالای برگ کلیک کنید.
خوب حالا اگر با مرورگرتان تلاش کنید که به همان پوشه بک آپ بروید خواهید دید که یک پنجره که مربوط به ورود به پوشه است ظاهر میشود و از شما user و pass میخواهد که همان است که در بالا مشخص کردید.



مرحله بعدی و اصلی Cron job است

Cron job يكي از امكانات لينوكس است كه ميتوانيد توسط اين امكان اسكريپت يا برنامه اي را به صورت خودكار و در زمان هاي مشخص اجرا كند

قصد ما این است که توسط Cron job فایل backup.php را که در پوشه ساخته شده مان است راه اندازی کنیم تا پشتیبانی بگیرد و به ما ایمیل کند.

اول در صفحه اصلي cPanel روی گزینه Cron Jobs کلیک کنید. در برگ پسین روی کلید Advanced کلیک کنید.
بعد از كليك بر روي Advanced در فیلد بالایی ایمیل خود را وارد نمایید. در زیر آن در فیلدMinute وHour شماره 0 (صفر) را بنویسید. در فیلدها کناری آنها هم علامت × (ستاره) را بنویسید. اینکار به Cron job میگوید که هر روز ساعت 12 نیمه شب دستوری را که در فیلد Command نوشته میشود را اجرا کند.

در فیلد Command هم کدهای زیر را وارد کنید. تـــوجـه داشته باشید که شما باید تغییراتی در این کدها بدهید که در پایین به آن خواهیم پرداخت.

در فیلدCommand این کدها را وارد کنید:

کد:

usr/bin/php/home/username/public_html/Backup/backup.php db1,db2,db3 1 1 0 1


و اما توضيحاتي در مورد كد بالا:


در كد بالا باید نام اکانت خودتان را بجای username بنویسید. نام اکانت شما همان است که شما در زمان ورود به سی پنل بعنوان نام کاربری استفاده میکنید.


بعد از كلمه public_html بايد نام پوشه اي را كه برنامه را در آن نصب كرده ايد را وارد كنيد.>در اينجا نام پوشه ما Backup است.


بعد از نام فايل backup.php شما بايد ديتابيس هايي كه در قسمت اول در داخل برنامه انتخاب كرده ايد را وارد كنيد. توجه كنيد كه نام ديتابيس ها بايد به صورت username_db باشد و با علامت(,) جدا شوند.


بعد از وارد كردن نام ديتابيس ها به چهار عدد ميرسيم كه ميتوان گفت براي نتظيم backup گيري ما به كار ميرود.


شماره اول یعنی شماره یک در کد بالا به برنامه مي گويد که تیبلهای این دیتابیس هم بک آپ گیری بشوند یا خیر فقط ساختار دیتابیس باشه. که صفر یعنی نه و1 یعنی بله.

گزینه دوم (در کد بالا عدد يك) به برنامه مي گويد که آیا اطلاعات درون تیبلها هم بک آپ گیری شوند یا خیر. دوباره صفر خیر و یک بله است.

گزینه سومی (صفر در مثال بالا) که ما بکار خواهیم برد: به برنامه بک آپ میگه که در این بک آپ دستور drop table ... ( که به معنی این است که اگر تیبلی به همین نام بود در زمان ایمپورت کردن احتمالی این بک آپ آنرا پاک کند) بکار برده شود یا خیر. دوباره صفر خیر و یک بله است.

گزینه چهارم عدد(يك در كد بالا) به برنامه دستور میده که فایل پشتیبانی را gziped کند (1) یا خیر (0)


حالا با توضيحات بالاي كدي كه ما بايد فيلد Command وارد كنيم به صورت زير است

کد:

usr/bin/php/home/username/public_html/Backup/backup.php username_DB1,username_DB2 1 1 0 1


پس از اینکارها روی دکمه Commit Changes کلیک کنید تا تغییرات ذخیره شوند.


خوب حالا کار ما به پایان رسیده و باید منتظر شد که ساعت سرور به 12 نیمه شب برسد و ایمیل را چک کرد تا نخستین نسخه بک آپ خودکار را دریافت کنید.

حال چرا12 نیمه شب؟؟؟ چون در آنزمان کار سرور کمتر است و احتمالا کاربران کمتری در سايت شما مشغول هستند و کار پشتیبانی گرفتن نه باعث کندی سايت میشود و نه به سرور فشار زیادی وارد میکند.

البته راه دیگری هم برای زودتر آزمایش کردن این برنامه است. در بخش بالا گفتیم در قسمت Cronjobs در فیلدهای Minute و Hour شماره صفر را وارد کنید.اگر شما بجای آنها نیز علامت ستاره * را وارد كنيد در اصل زمان راه اندازی فایل بالا را هر دقیقه تعیین کرده اید. پس میتوانید فقط برای آزمایش اینکار را انجام دهید و دوباره روی Commit Changes کلیک کنید. چند دقیقه صبر کنید و ایمیل خود را کنترل کنید. به محض اینکه ایمیلی از Cron دریافت کردید دوباره به حالت بالا باز گردانید که اگر اینکار را نکنید هر دقیقه از دیتابیس شما پشتیبانی گرفته میشود و باعث ميشود سرعت سايت شما بسیار کند شود و شايد اين عمل باعث بسته شدن سايت شما از طرف ادمين سرور شود.

زمان بسیار کوتاهی پس از نامه Cron شما باید ایمیلی از خودتان دریافت کنید که حاوی فایل بک آپ میباشد. اگر دریافت نکردید نامه Cron را باز کنید و ببینید که چه پیام خطایی برای شما فرستاده است.

امیدوارم توضیح کامل و به درد بخور باشد .
اميدوارم كه مفيد باشد .

آخرین نسخه را می تونید از این ادرس دانلود بکنید

phpMyBackupPro - the MySQL backup tool :: Download

منبع وی بی اسکین
پاسخ
 سپاس شده توسطkabus (۱۳۹۱/۱/۱۶، ۱۴:۴۹:۴۸ عصر) ، mahachita (۱۳۹۱/۶/۱۵، ۱۷:۴۶:۴۳ عصر) ، Doodoo (۱۳۹۱/۶/۱۶، ۰۶:۵۸:۳۷ صبح)
#2
درود
این اموزش و روش کار خیلی طولانی شد و فکر نمیکنم نیازی به این همه کار باشه.در لینک زیر فقط قسمت اول اموزش برای ارسال بک اپ به ایمیل کافی است.

اموزش گرفتن بک اپ از دیتابیس و ارسال به ایمیل با یک خط کد
پاسخ
 سپاس شده توسطmahachita (۱۳۹۱/۶/۱۵، ۱۷:۴۶:۴۱ عصر) ، geo (۱۳۹۱/۹/۲۶، ۲۳:۴۵:۵۲ عصر)
#3
واقعا عالی بود! خصوصا لینک دومی! مدتهاست دنبال این آموزش بودم HeartHeartHeart
پاسخ
#4
کد:
usr/bin/php/home/username/public_html/Backup/backup.php username_DB1,username_DB2 1 1 0 1

اینجروی وارد کن ببین درست میشه

ادرس دامنه رو ننویس دیگه
پاسخ
 سپاس شده توسطgeo (۱۳۹۱/۹/۲۶، ۲۳:۴۶:۰۶ عصر)
#5
درود
ببینید دوستان برای هرکاری روش های مختلف وجود دارد ولی با اون روش که در پارس جوم منتشر کردم من مدتها است که دارم بک آپ میگیرم و روزانه دوبار برای من به ایمیل ارسال میشود که در یک پوشه در ایمیل ذخیره میکنم.فقط با یک خط کد میتونید با خیالی آسوده شبها بخوابید.
پاسخ
 سپاس شده توسطgeo (۱۳۹۱/۹/۲۶، ۲۳:۴۶:۲۰ عصر) ، شماره مجازی (۱۴۰۱/۸/۲۶، ۰۱:۵۸:۰۶ صبح) ، گراف مسنجر (۱۴۰۱/۱۰/۳، ۰۴:۱۹:۵۰ صبح) ، چارتر ۴۲۴ (۱۴۰۲/۹/۱۲، ۱۵:۲۳:۲۸ عصر)


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان