در این آموزش میخواهیم نحوه تنظیم بکاپ خودکار (Cron Backup) را در سرورهای VPS لینوکسی با کنترلپنل دایرکتادمین توضیح دهیم. با انجام این تنظیمات، در زمانهای تعیینشده بهصورت خودکار از سایتها و اطلاعات کاربران نسخه پشتیبان تهیه میشود و دیگر نیازی به بکاپگیری دستی نخواهید داشت.
استفاده از دایرکت ادمین
در این بخش یاد میگیریم که چطور از داخل پنل دایرکتادمین، بدون نیاز به هیچ دستور لینوکسی، فرآیند بکاپ خودکار کاربران را تنظیم کنیم تا در زمانهای مشخص از تمام دادههای سرور نسخه پشتیبان گرفته شود.
مرحله اول: ورود به بخش Admin Backup/Transfer
بعد از ورود به دایرکتادمین با سطح دسترسی ادمین (Admin)، از منوی اصلی به بخش Admin Backup/Transfer بروید. در این قسمت تمام عملیات مربوط به بکاپ و بازگردانی (Restore) انجام میشود. در بالای صفحه دو دکمه اصلی دیده میشود: یکی با عنوان SCHEDULE برای ساخت و زمانبندی بکاپهای خودکار، و دیگری RESTORE برای بازگرداندن نسخههای پشتیبان گرفتهشده. برای شروع کار روی گزینه SCHEDULE کلیک کنید تا وارد مراحل ساخت اولین زمانبندی بکاپ شوید. در واقع از اینجا فرآیند طراحی و تعیین تنظیمات بکاپ آغاز میشود.
مرحله دوم: انتخاب کاربران برای بکاپ (Who)
در این مرحله باید مشخص کنید که از چه کسانی یا چه حسابهایی بکاپ گرفته شود. صفحه شامل گزینههای مختلفی است:
- گزینه All Users برای زمانی است که میخواهید از تمام حسابهای کاربری موجود روی سرور بکاپ گرفته شود.
- گزینه All Users Except Selected زمانی استفاده میشود که میخواهید از همه کاربران بهجز چند حساب خاص بکاپ تهیه شود.
- گزینه Selected Users حالتی است که فقط کاربرانی را که تیک میزنید در بکاپ قرار میدهد.
- گزینه Selected Creators and their Users که مخصوص ریسلرها (Reseller) است و باعث میشود از آنها و تمام کاربران زیرمجموعهشان بکاپ گرفته شود.
برای مثال، اگر هدف فقط تهیه نسخه پشتیبان از یک کاربر خاص (مثلاً admin) است، گزینه Selected Users را انتخاب کرده و کاربر مورد نظر را از لیست پایین تیک بزنید. این روش در زمان تست تنظیمات، سریعتر و کمحجمتر است.
مرحله سوم: زمانبندی اجرای بکاپ (When)
در مرحله بعد باید تعیین کنید که بکاپ چه زمانی اجرا شود. دایرکتادمین دو گزینه اصلی دارد: اجرای فوری و اجرای زمانبندیشده.
اگر گزینه Now را انتخاب کنید، بکاپ بلافاصله و یکبار اجرا میشود. اما گزینه دوم یعنی Cron Schedule زمانی استفاده میشود که بخواهید بکاپ در ساعت و روز مشخص بهصورت خودکار اجرا شود.
بعد از انتخاب Cron Schedule، چند فیلد ظاهر میشود که با آنها میتوانید دقیقاً زمان اجرا را مشخص کنید:
- فیلد Minute زمان اجرای دستور را بر اساس دقیقه مشخص میکند. مثلاً مقدار
0یعنی ابتدای ساعت. - فیلد Hour ساعت اجرا را مشخص میکند. مثلاً مقدار
5یعنی ساعت ۵ صبح. - فیلدهای Day of Month، Month و Day of Week برای کنترل دوره اجرا هستند.
وقتی در این فیلدها علامت * بگذارید یعنی هر روز، هر ماه و هر روز هفته اجرا شود.
به عنوان نمونه اگر مقدارها را بهصورت 0 5 * * * تنظیم کنید، بکاپ هر روز رأس ساعت ۵ صبح اجرا میشود. این یکی از زمانهای پیشنهادی برای بکاپ شبانه است چون فشار زیادی روی سرور ایجاد نمیکند.
مرحله چهارم: تعیین محل ذخیره بکاپ (Where)
در این مرحله باید مشخص کنید که فایلهای بکاپ در کجا ذخیره شوند. گزینه اول Local برای ذخیرهسازی روی همان سرور است، که رایجترین انتخاب است. اگر این گزینه را فعال کنید، در فیلد Local path باید مسیر مقصد را وارد کنید. پیشنهاد میشود مسیر را به شکل زیر بنویسید:
/home/admin/admin_backups
دایرکتادمین معمولاً این پوشه را خودش میسازد، اما اگر نساخت، میتوانید بهصورت دستی آن را ایجاد کنید. برای ساخت دستی مسیر در SSH کافیست دستور زیر را اجرا کنید:
mkdir -p /home/admin/admin_backups
chown -R admin:admin /home/admin/admin_backups
chmod 750 /home/admin/admin_backups
اگر میخواهید بکاپ در یک سرور دیگر ذخیره شود، میتوانید گزینه FTP را انتخاب کنید. در این حالت باید آدرس، پورت، مسیر، نام کاربری و رمز FTP را وارد کنید تا فایلها به سرور مقصد ارسال شوند. در بخش پایین گزینهای به نام Append وجود دارد. اگر مقدار آن روی Nothing باشد، هر بار بکاپ با نام یکسان نوشته میشود و نسخه قبلی جایگزین میگردد. اما اگر گزینه Date را انتخاب کنید، تاریخ روز به انتهای نام فایل اضافه میشود تا نسخههای روزانه جدا از هم ذخیره شوند. این گزینه برای نگهداری آرشیو روزانه پیشنهاد میشود.
- نکته مهم: مشتریان ایرانسرور میتوانند کرانبکاپ را روی فضای بکاپ خارج از سرور (FTP یا SFTP) تنظیم کنند تا در صورت خرابی یا حذف اطلاعات، نسخهای امن از دادهها در جای دیگر ذخیره شود. ایرانسرور بهصورت رایگان ۲۰ گیگابایت فضای پشتیبان FTP برای همهی سرورهای مجازی ارائه میدهد. در صورتی که این فضا برای شما فعال نشده، از طریق بخش پشتیبانی تیکت ارسال کنید تا تحویل داده شود.
مرحله پنجم: انتخاب نوع داده برای بکاپ (What)
در مرحله بعد، باید مشخص کنید چه نوع دادههایی در بکاپ قرار بگیرد. دایرکتادمین این امکان را میدهد که از همه اطلاعات یا بخشهای خاص بکاپ گرفته شود. اگر گزینه All Data را فعال کنید، از تمام دادهها شامل فایلهای وبسایت، دیتابیسها، ایمیلها، حسابهای FTP و تنظیمات DNS نسخه پشتیبان تهیه میشود. این گزینه برای بیشتر سرورها توصیه میشود، چون اطمینان میدهد همه چیز ذخیره میشود.
اما اگر بخواهید فقط بخش خاصی را بکاپ بگیرید، میتوانید بهصورت دستی تیک موارد دلخواه را بزنید. برای مثال:
- Domains Directory شامل تمام فایلهای سایتها است.
- Databases برای بکاپ از پایگاهدادهها استفاده میشود.
- Emails مربوط به حسابها و پیامهای ایمیل کاربران است.
- FTP Accounts برای اطلاعات حسابهای FTP است.
- DNS Settings برای تنظیمات رکوردهای دامنه کاربرد دارد.
- Cron Jobs برای برنامههای زمانبندیشده کاربران است.
- SSL Certificates گواهیهای امنیتی فعال روی سایتها را ذخیره میکند.
اگر نمیدانید کدام را انتخاب کنید، بهتر است گزینه All Data را فعال بگذارید.
مرحله ششم: ثبت و ذخیره زمانبندی
وقتی تنظیمات بالا را انجام دادید، روی دکمه SCHEDULE کلیک کنید. پس از چند ثانیه پیغام سبزی در پایین صفحه با عنوان Backups added to Queue ظاهر میشود. این پیام به معنی ثبت موفقیتآمیز زمانبندی است. اکنون در صفحه Admin Backups یک کارت جدید نمایش داده میشود که در آن اطلاعاتی مانند زمان اجرا، مسیر ذخیره، نوع داده و کاربران انتخابشده دیده میشود. اگر بکاپ در صف (Queue) باشد، دایرکتادمین بهطور خودکار در زمان مشخص آن را اجرا خواهد کرد.
مرحله هفتم: مدیریت زمانبندیهای ساختهشده
پس از ایجاد اولین زمانبندی، هر Job در قالب یک کارت در صفحه Admin Backups نمایش داده میشود. در بالای هر کارت، یک آیکون سهنقطه (…) وجود دارد. با کلیک روی آن میتوانید کارهای مختلفی انجام دهید. گزینه Edit برای ویرایش تنظیمات زمانبندی، تغییر ساعت، مسیر یا کاربران است. گزینه Delete برای حذف کامل Job استفاده میشود. در برخی نسخهها گزینه Run Now نیز وجود دارد که با آن میتوانید بکاپ را بدون صبر تا زمانبندی بعدی، فوراً اجرا کنید. این ابزارها به شما امکان کنترل کامل روی زمانبندیهای ساختهشده را میدهند.
مرحله هشتم: بررسی اجرای بکاپ و مشاهده نتیجه
برای اطمینان از اینکه بکاپ بهدرستی اجرا شده، سه روش وجود دارد. روش اول بررسی مسیر ذخیرهسازی است. وارد سرور شوید و با دستور زیر محتوای پوشه بکاپ را ببینید:
ls -lh /home/admin/admin_backups
در اینجا باید فایلهایی با پسوند .tar.gz یا پوشههایی با نام کاربران مشاهده کنید.
روش دوم بررسی پیامها در Message System دایرکتادمین است. پس از هر اجرای موفق یا ناموفق بکاپ، گزارشی در بخش پیامها ارسال میشود که شامل زمان، حجم و نتیجه کار است.
روش سوم مشاهده فایلهای لاگ است. برای بررسی جزئیات بیشتر میتوانید از این دستورات استفاده کنید:
tail -n 50 /var/log/directadmin/errortaskq.log
tail -n 50 /var/log/directadmin/system.log
در این فایلها تمام فرایند اجرای تسکها از جمله بکاپ ثبت میشود.
مرحله نهم: بازگردانی از بکاپ (Restore)
برای برگرداندن دادهها از یک نسخه پشتیبان، دوباره وارد صفحه Admin Backup/Transfer شوید و این بار روی دکمه RESTORE کلیک کنید. در صفحه باز شده ابتدا محل ذخیره بکاپ را انتخاب کنید. اگر بکاپها روی سرور هستند، گزینه Local را انتخاب کرده و مسیر پوشه (مثلاً /home/admin/admin_backups) را وارد کنید. سپس از لیست فایلها، نسخه مورد نظر را انتخاب کرده و کاربران یا آیتمهایی که باید بازگردانده شوند را تیک بزنید. در آخر روی RESTORE کلیک کنید. دایرکتادمین فرآیند بازگردانی را آغاز میکند و پس از پایان، پیام موفقیت نمایش داده میشود.
مرحله دهم: نکات مهم و رفع خطاها
اگر پس از ذخیره زمانبندی هیچ کارتی در صفحه اصلی ندیدید و پیغام No scheduled backups available ظاهر شد، یعنی هنوز Job ذخیره نشده یا حذف شده است. در این صورت مراحل ساخت زمانبندی را دوباره تکرار کنید. در صورتی که فایل بکاپ در مسیر مقصد ساخته نمیشود، ابتدا مطمئن شوید مسیر درست باشد و دسترسی کافی نیز وجود داشته باشد. برای اطمینان، مجدداً این دستورات را در SSH اجرا کنید:
mkdir -p /home/admin/admin_backups
chown -R admin:admin /home/admin/admin_backups
chmod 750 /home/admin/admin_backups
اگر باز هم بکاپ اجرا نشد، ممکن است سرویس زمانبندی سیستم (Cron) غیرفعال باشد. در سیستمهای Ubuntu و Debian دستور زیر را اجرا کنید:
systemctl enable --now cron
و در CentOS یا AlmaLinux:
systemctl enable --now crond
در نهایت اگر با خطایی مانند
Unable to open ./data/users/<name>/users.list
روبرو شدید، به این معنی است که نام ادمین قبلی در فایلهای سیستمی باقی مانده است. برای رفع آن کافیست فایلهای admin.list و reseller.list را باز کنید و نامهای اشتباه را حذف نمایید، سپس سرویس را ریاستارت کنید:
nano /usr/local/directadmin/data/admin/admin.list
nano /usr/local/directadmin/data/admin/reseller.list
systemctl restart directadmin
در پایان این آموزش، شما یاد گرفتید که چگونه با استفاده از پنل گرافیکی دایرکتادمین بدون هیچ دستور پیچیدهای، بکاپ خودکار را تنظیم کنید. از این پس سرور شما بهطور منظم از فایلها، دیتابیسها و اطلاعات کاربران نسخه پشتیبان میگیرد و امنیت دادههایتان در برابر خطا یا حذف ناگهانی تضمین میشود.









