ایجاد و فعالسازی سرویسهای سیستمی برای اجرای رباتها
3 мин. чтения
برای اطمینان از عملکرد پایدار و خودکار رباتهای DEXBOT در سرور، توصیه میشود از سرویسهای سیستمی systemd استفاده کنید.
این امکان را میدهد که رباتها به عنوان سرویسهایی اجرا شوند که هنگام راهاندازی سیستم به صورت خودکار شروع به کار میکنند، نظارت میشوند و در صورت بروز خطا مجدداً راهاندازی میشوند.
⚙️ ایجاد فایل unit سرویس برای DEXBOT #
برای ایجاد سرویس، دستور زیر را در ترمینال اجرا کنید:
sudo nano /lib/systemd/system/DEXBOT.service
در ویرایشگری که باز میشود، کد زیر را وارد کنید:
[Unit]
Description=DEXBOT — CRYPTO BOT
After=network.target
[Service]
Type=simple
WorkingDirectory=/MYBOTS/DEXBOT
ExecStart=/MYBOTS/DEXBOT/DEXBOT.bin
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
Description— توضیح کوتاه درباره سرویس.After=network.target— راهاندازی سرویس پس از آماده شدن شبکه.WorkingDirectory— دایرکتوری کاری که ربات از آن اجرا میشود.ExecStart— فرمان اجرای فایل اجرایی ربات.Restart=always— همیشه سرویس را در صورت توقف مجدداً راهاندازی کن.RestartSec=60— ۶۰ ثانیه قبل از تلاش مجدد برای راهاندازی صبر کن.WantedBy=multi-user.target— سرویس در حالت چندکاربره اجرا شود.
🔧 به فایلهای رباتها اجازه اجرای فایلهای اجرایی بدهید #
دستورات زیر را برای اعطای اجازه اجرا اجرا کنید:
chmod +x /MYBOTS/DEXBOT/DEXBOT.bin
این کار لازم است تا systemd بتواند رباتهای شما را اجرا کند.
🚀 سرویسها را برای اجرا خودکار هنگام بوت فعال کنید #
دستورات زیر را اجرا کنید:
sudo systemctl enable DEXBOT
این دستورات لینکهایی در دایرکتوریهای سیستمی ایجاد میکنند که اجرای خودکار سرویسها پس از راهاندازی مجدد را تضمین میکنند.
▶️ سرویسها را به صورت دستی اجرا کنید #
برای اجرای سرویسها بدون راهاندازی مجدد سرور، دستورهای زیر را اجرا کنید:
sudo systemctl start DEXBOT
اگر همه چیز درست تنظیم شده باشد، رباتهای شما به عنوان فرایندهای پسزمینه شروع به کار خواهند کرد.
📊 دستورات مفید برای مدیریت سرویسها #
- بررسی وضعیت سرویس:
sudo systemctl status DEXBOT - راهاندازی مجدد سرویس:
sudo systemctl restart DEXBOT - توقف سرویس:
sudo systemctl stop DEXBOT - غیرفعال کردن اجرای خودکار:
sudo systemctl disable DEXBOT
⚠️ نکات و توصیهها #
- قبل از ایجاد سرویس، مطمئن شوید رباتها هنگام اجرای دستی به درستی کار میکنند.
- اطمینان حاصل کنید که مسیرهای
ExecStartوWorkingDirectoryدر فایل unit صحیح باشند. - برای مشاهده خطاها و پیامها، لاگها را تنظیم کنید — systemd آنها را در
journalctlذخیره میکند. - برای مشاهده لاگها به صورت زنده:
sudo journalctl -u DEXBOT -f - پس از تغییر فایلهای unit، دستور زیر را اجرا کنید تا systemd تنظیمات جدید را بارگذاری کند:
sudo systemctl daemon-reload
اکنون رباتهای شما به عنوان سرویسهای سیستمی با اجرای خودکار و کنترل کامل کار میکنند که مدیریت را آسانتر و پایداری را افزایش میدهد.
❓ چرا باید از سرویسهای سیستمی (systemd) استفاده کرد؟ #
- اجرای خودکار: رباتها هنگام روشن یا راهاندازی مجدد سرور به صورت خودکار اجرا میشوند.
- پایداری: در صورت خطا یا توقف، ربات به صورت خودکار پس از مدت زمان تعیین شده دوباره راهاندازی میشود.
- مدیریت آسان: شروع، توقف، راهاندازی مجدد و بررسی وضعیت با دستورات استاندارد
systemctl. - کنترل متمرکز: تمام سرویسها قابل مدیریت و پایش با ابزارهای سیستم هستند.