backup گرفتن اتوماتیک از mysql

بک آپ گرفتن از دیتابیس یکی از مهترین کارهایی که ادمین دیتابیس باید انجام بده، این روشی که الان می خوام معرفی کنم برای دیتابیس های کوچک و متوسط MySQL خیلی خوبه.

اسکریپت bash بک آپ گرفتن از دیتابیس چند سال پیش نوشتم و گذاشتم تو گیت ها، می تونید این اسکریپت دانلود کنید و بزارید روی سرور و با cron برای بک آپ گرفتن اتوماتیک ازش استفاده کنید.

45 5 * * *     root /backup/mysql.sh >> /backup/mysql_backup.log&

کد بالا اگر توی cron بزارید هر روز ساعت ۵:۴۵ صبح از دیتابیس شما بک آپ میگیره .

با استفاده از متغیر skip بعضی از دیتابیس ها و با متغیر skiptable تیبل خاصی از دیتابیس، از پروسه بک آپ گرفتن استثناء کنید. متغیر dest مسیر ذخیره سازی فایل ها مشخص می کنه، چون به ازای هر روز و هر دیتابیس یک فولدر ایجاد می کنه و به هر دیتابیس جدا توی فایل بک آپ میگیره و البته فایل هارو فشرده هم میکنه.
البته ورژن جدیدتری که فایل هارو به سرور FTP انتقال بده نوشتم که یه روز push می کنم. و البته برای بک آپ گرفتن از دیتابیس های بزرگتر هم راه هایی مثل Percona XtraBackup وجود داره که یه مطلبی هم در مورد اون می نویسم.