0

بکاپ اتوماتیک دیتابیس با اسکریپت bash

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

امروزه همه به اهمیت گرفتن بکاپ از دیتابیس سیستم های خود آگاه هستیم.

شما تاکنون از چه روش هایی برای بکاپ گرفتن استفاده کرده اید؟ چقدر هزینه و زمان برای آن صرف کرده اید؟

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

معرفی

بکاپ گرفتن از دیتابیس همیشه از مهم ترین دغدغه هایی است که باید به طور منظم انجام شود.

حال ما می خواهیم این وظیفه مهم را به سادگی به کمک لینوکس عزیز به صورت اتوماتیک انجام دهیم.

راه اندازی:

برای شما یک اسکریپت اختصاصی طراحی کردیم و آن را داخل /home قرار داده ایم.

اسم این فایل را backup-script می گذاریم:

#!/bin/bash

NOW=$(date +"%Y-%m-%d-%H%M")
last=mybackup-$NOW
db_name="aria_sec"
db_username="aria_sec"
db_password="SWRxOsK9"
backup_folder_path="/mnt/ftpDrive"
mysqldump --opt -u$db_username -p$db_password $db_name | gzip > $backup_folder_path/$last

متغیر NOW شامل زمان و تاریخی است که بکاپ گرفته می شود.

متغیر last را برای نام بکاپ های خود تعریف کرده ایم.

سه خط بعدی متغیرهایی هستند که نام دیتابیس، یوزر و پسورد را برای ما نگه می دارند.

متغیر backup_folder_path نیز محل بکاپ های ما را مشخص می کند.

خط آخر با یوزر، پسورد و دایرکتوری که مشخص کرده ایم، بکاپ گرفته شده و زیپ می شود.

و در نهایت با last نام گذاری می شود.

اکنون با هربار زدن دستور زیر، اسکریپت اجرا شده و یک بکاپ در لوکیشن داده شده، ذخیره می شود:

/bin/sh /home/backup-script

حال ما می خواهیم این پروسه را به صورت اتوماتیک انجام دهیم.

یعنی دستور بالا در یک زمان بندی معین، به صورت اتوماتیک انجام شود.

برای این کار از دستور حرفه ای crontab استفاده می کنیم.

دستور crontab برای اجرای یک کار با زمان بندی معین استفاده می شود.

با زدن crontab -e وارد محیط دیگری می شوید که در آن می توانید تسک های جدیدی تعریف کنید.

(در این مقاله قصد نداریم که دستور crontab را آموزش دهیم)

در این سناریو می خواهیم که هر ۴ ساعت یکبار اسکریپت ما اجرا شود.

برای این کار دستور زیر را در محیط crontab -e اضافه می کنیم:

۰ */۴ * * * /home/backup-script

نتیجه:

با زدن دستور crontab -l می توانید تمام تسک های زمان بندی شده را مشاهده کنید.

این هم از بکاپ های ما:

automatic backup from database with bash scripts
automatic backup from database with bash scripts

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

crontab.guru

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

موفق باشید.

امتیاز ما
برای امتیاز به این پست کلیک کنید
[کل: 1 میانگین: 5]
ارسال دیدگاه