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

حفظ و پشتیبان‌گیری (بکاپ) منظم از اطلاعات سایت، مهم‌ترین اصل برای جلوگیری از از دست دادن داده‌ها در مواقع خرابی، هک یا اشتباهات انسانی است. در این مقاله قدم به قدم یاد می‌گیریم چگونه با کمک برنامه‌نویسی و امکانات سی‌پنل، بکاپ‌گیری خودکار از فایل‌ها و دیتابیس سایت را انجام دهیم.

چرا بکاپ‌گیری خودکار اهمیت دارد؟
حفاظت از داده‌ها در برابر مشکلات نرم‌افزاری و سخت‌افزاری
بازیابی سریع سایت در شرایط اضطراری
اطمینان خاطر از امنیت اطلاعات مهم کسب‌وکار

راهکارهای برنامه‌نویسی بکاپ در سی‌پنل
1. استفاده از Cron Jobs برای اتوماسیون بکاپ

Cron job ابزار زمان‌بندی تسک‌های تکراری در لینوکس/سی‌پنل است. با نوشتن یک اسکریپت و زمان‌بندی آن در کرون، می‌توانید به صورت روزانه یا هفتگی بکاپ بگیرید.

نحوه نوشتن اسکریپت بکاپ‌گیری:
الف) بکاپ‌گیری از فایل‌ها:

#!/bin/bash
DATE=$(date +”%Y-%m-%d”)
tar -czf /home/username/backups/files-backup-$DATE.tar.gz /home/username/public_html

این اسکریپت کل پوشه سایت شما را فشرده و در فولدر backups ذخیره می‌کند.

ب) بکاپ‌گیری از دیتابیس MySQL:

#!/bin/bash
DATE=$(date +”%Y-%m-%d”)
mysqldump -u db_username -p’PASSWORD’ db_name > /home/username/backups/db-backup-$DATE.sql

 

جایگزین کردن db_username، PASSWORD و db_name با اطلاعات دیتابیس شما الزامی است.

 

2. زمان‌بندی اسکریپت در سی‌پنل
مراحل:
وارد سی‌پنل شوید.
در بخش Advanced گزینه Cron Jobs را انتخاب کنید.
بازه زمانی اجرای اسکریپت (مثلاً هر شب ساعت ۲ بامداد) را مشخص کنید.
دستور اجرای اسکریپت، مشابه مثال زیر را وارد کنید:

bash /home/username/backup-script.sh

اسکریپت خود را پیش‌تر در مسیر مربوطه آپلود یا ایجاد کنید و از مجوز اجرایی بودن آن مطمئن شوید.

3. نکات حرفه‌ای برای بکاپ‌گیری خودکار
ارسال بکاپ به سرویس ابری (مانند Google Drive یا Dropbox) توسط API
پاک‌سازی بکاپ‌های قدیمی جهت جلوگیری از پر شدن هاست
ارسال ایمیل هنگام موفقیت/خطا در فرآیند بکاپ
رمزنگاری بکاپ‌ها جهت امنیت بیشتر
اتومات کردن بکاپ‌گیری از چندین دیتابیس مختلف

4. نمونه اسکریپت کامل (بکاپ از فایل‌ها و دیتابیس، حذف بکاپ‌های قدیمی):

#!/bin/bash

# تنظیمات (ویرایش کنید!)

USER=”username”
DB_USER=”db_username”
DB_PASS=”password”
DB_NAME=”db_name”
BASEPATH=”/home/$USER”
BACKUPPATH=”$BASEPATH/backups”
DATE=$(date +”%Y-%m-%d”)

# ساخت پوشه بکاپ در صورت نبود

mkdir -p $BACKUPPATH

 

# بکاپ فایل‌ها

tar -czf $BACKUPPATH/files-$DATE.tar.gz $BASEPATH/public_html

 

# بکاپ دیتابیس

mysqldump -u $DB_USER -p”$DB_PASS” $DB_NAME > $BACKUPPATH/db-$DATE.sql

 

# حذف فایل‌های بکاپ قدیمی (مثلاً ۱۰ روز قبل)

find $BACKUPPATH -type f -mtime +10 -delete

 

جمع‌بندی

بکاپ‌گیری منظم و خودکار با اسکریپت و Cron Jobs، امنیت سایت شما را تضمین می‌کند.

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

پرسش متداول (FAQs)
آیا این اسکریپت‌ها برای همه هاست‌های سی‌پنل کار می‌کنند؟بله، اکثر هاستینگ‌ها این قابلیت را دارند. در صورت محدودیت دسترسی به SHELL یا Cron، از پشتیبانی هاست کمک بگیرید.
امنیت دسترسی به اسکریپت چگونه تضمین می‌شود؟اسکریپت را فقط با مجوز user خود اجرا کنید و رمز دیتابیس را فقط در آن نگهداری کنید.

برای این نوشته برچسبی وجود ندارد !

avatar

دانلود متن مقاله

نظرات کاربران

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *