From 053d75a3bfe2df1064f7ff67e9e0dbfa832a1909 Mon Sep 17 00:00:00 2001 From: RadKesvat <134321679+radkesvat@users.noreply.github.com> Date: Sun, 9 Jul 2023 13:40:39 +0430 Subject: [PATCH] Create service.md --- service.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 service.md diff --git a/service.md b/service.md new file mode 100644 index 0000000..41d2156 --- /dev/null +++ b/service.md @@ -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 --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 + + + +