دیتابیس ۲۵ مرداد ۱۴۰۴ زمان مطالعه: ۱۳ دقیقه

استراتژی‌های بکاپ‌گیری اتوماتیک و بازگردانی دیتابیس

نیما کریمی

تیم فنی اوربیت دیزاین

دیتابیس بدون بکاپ، یعنی دیتایی که برای از دست دادنش داوطلب شده‌اید! سرورها ممکن است بسوزند، هک شوند یا با دستور rm -rf اشتباهی پاک شوند. قانون ۳-۲-۱ بکاپ را جدی بگیرید.

دیاگرام بکاپ گیری

قانون ۳-۲-۱ چیست؟

۳ نسخه از دیتا داشته باشید، روی ۲ رسانه مختلف ذخیره کنید و ۱ نسخه را حتماً خارج از محل اصلی (Off-site) نگه دارید.

اسکریپت ساده بکاپ گیری MySQL

یک فایل bash ساده بسازید که دیتابیس را dump کند، فشرده‌سازی کند و نام آن را بر اساس تاریخ روز تنظیم نماید:

#!/bin/bash DATE=$(date +%F) BACKUP_DIR="/var/backups/db" mkdir -p $BACKUP_DIR # گرفتن بکاپ mysqldump -u root -p'MY_PASSWORD' my_database | gzip > $BACKUP_DIR/db-$DATE.sql.gz # حذف بکاپ‌های قدیمی‌تر از 30 روز find $BACKUP_DIR -type f -name "*.sql.gz" -mtime +30 -delete

اتوماسیون با Cron Job

برای اینکه این اسکریپت هر شب ساعت ۳ بامداد (زمانی که ترافیک سایت کم است) اجرا شود، دستور crontab -e را زده و خط زیر را اضافه کنید:

0 3 * * * /path/to/backup-script.sh
اشتراک‌گذاری:
بازگشت به وبلاگ