Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
RadKesvat committed Jul 9, 2023
2 parents 8492474 + 053d75a commit cfccefb
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions service.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@

در این داکیومنت میخواهم نحوه اجرای برنامه به صورت سرویس رو توضیح بدم و اینکه چطور کاری کنیم هر n ساعت یک بار ری استارت بشه و همچنین موقع ری استارت شدن سیستم هم اجرا بشه

اول اینکه دستور سرور داخل و خارج اتون رو اجرا کنید و تست کنید تا مطمعن شین دستور ها درست هستن و کار میکنه بعد باید سرویس رو ایجاد کنیم

مرحله اول اینکه وارد این مسیر بشین
```sh
cd /etc/systemd/system
```
بعد باید سرویس رو ایجاد کنیم ؛ من اسم سرویس ام رو به اختیار میزارم tunnel
```sh
nano tunnel.service
```
خوب حالا این محتویات رو قرار میدیم
```sh
[Unit]
Description= my tunnel service

[Service]
User=root
WorkingDirectory=/root
ExecStart=/root/FTT <your arguments> --terminate:24
Restart=always

[Install]
WantedBy=multi-user.target
```

خوب حالا دقت کنین که برنامه رو توی پوشه /root نصب کرده باشین فکر نکنم این نیاز به توضیح داشته باشه ؛ وارد پوشه روت بشین و یه بار دستور برنامه رو اجرا کنین تا فایل FTT اونجا باشه

دوم اینکه توی این فایلی که الان نوشتیم بخش ExecStart باید جای your argemunts حتما کامند خودتون رو بنویسید و مقادریری که داشتین رو قرار بدین اما بعدش ما یک اپشن اضافه به اسم --terminate اضافه کردیم

این اپشن یه عدد میگیره و به ساعت هست که یعنی تو این مثال بعد از ۲۴ ساعت برنامه کامل بسته میشه

ولی چون ما سرویس ایجاد کردیم ؛ برنامه به محض اینکه بسته بشه به هر دلیلی ؛ دوباره توسط سیستم مجددا اجرا میشه
و اینطوری کاربر کمترین آسیپ رو میبینه اما خوب بازم خیلی بهتر هست که این ری استارت در زمانی انجام بشه مثلا ۴ تا ۸ صبح چون هربار
ری استارت کانکشن ها قبلی رو لحظه ای قطع میکنه و اگه کاربر توی اون زمان مشفول دیدن ریلز اینستا یا یه سری برنامه های دیگه که به بسته نشدن کانکشن حساس هستن باشه ... ناراحت میشه :)
دیگه خودتون این زمان رو تنظیم کنین


خوب الان این دستورات رو به ترتیب اجرا میکنیم تا سرویس امون تکمیل بشه و در هنگام بوت شدن سیستم هم اجرا بشه

اول چک کنین برنامه در حال اجرا نباشه اگه اجرا بوده باید ببندینش با دستور
> pkill FTT
بعد این مراحل رو اجرا کنید


> sudo systemctl daemon-reload
> sudo systemctl start tunnel.service
> sudo systemctl enable tunnel.service



0 comments on commit cfccefb

Please sign in to comment.