انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: به یاد سردار دل ها در 06 دی 1399، 05:29 بظ
-
سلام دوستان چه جوری می تونم بگم موقع روشن شدن سیتم این کامند ها به طور خودکار زده بشه
خواهشا نگید فقط فلان فایل رو ادیت کن بگید چه جوری در فایل باید وارد کنم
-
کدوم دستورها؟
دو راه محبوب هست:
۱. استفاده از @reboot در cron که سریع،ولی کثیفه
۲. ایجاد کدنوشتهٔ مربوط به init که یه کم سختتر، ولی اصولی و با انعطاف بالاست.
-
سلام دوستان چه جوری می تونم بگم موقع روشن شدن سیتم این کامند ها به طور خودکار زده بشه
خواهشا نگید فقط فلان فایل رو ادیت کن بگید چه جوری در فایل باید وارد کنم
باید با مبحث cronjobs آشنا باشی، میتونی با استفاده از کامند:
sudo crontab -e
وارد فایل crontab بشی و اونجا مثلا بنویسی:
@reboot command
نکته: به جای command باید دستورت رو بنویسی.
شیوه بعدی هم ساخت یه اسکریپت و قرار دادنش تو لیست فایل های پراسس مربوط به init هست.
به این شکل که یه بش (یا هر شلی) اسکریپت مینویسی و کپیش میکنی تو مسیر /etc/init.d/، بعد هم بهش قابلیت اجرایی میدی:
chmod +x /etc/init.d/myscript.sh
-
کدوم دستورها؟
دو راه محبوب هست:
۱. استفاده از @reboot در cron که سریع،ولی کثیفه
۲. ایجاد کدنوشتهٔ مربوط به init که یه کم سختتر، ولی اصولی و با انعطاف بالاست.
می خوام بگه سی دی کنه تو یه جایی و یه فایل رو با ./ ران کنه امکان پذیر ؟
-
سلام دوستان چه جوری می تونم بگم موقع روشن شدن سیتم این کامند ها به طور خودکار زده بشه
خواهشا نگید فقط فلان فایل رو ادیت کن بگید چه جوری در فایل باید وارد کنم
باید با مبحث cronjobs آشنا باشی، میتونی با استفاده از کامند:
sudo crontab -e
وارد فایل crontab بشی و اونجا مثلا بنویسی:
@reboot command
نکته: به جای command باید دستورت رو بنویسی.
شیوه بعدی هم ساخت یه اسکریپت و قرار دادنش تو لیست فایل های پراسس مربوط به init هست.
به این شکل که یه بش (یا هر شلی) اسکریپت مینویسی و کپیش میکنی تو مسیر /etc/init.d/، بعد هم بهش قابلیت اجرایی میدی:
chmod +x /etc/init.d/myscript.sh
اسکریپ باید به چه زبانی باشد تا شناسایی شود ؟
سریع ترین راه برای اینکه بتونم یه اسکریبت ساده بنویسم تا کارم را بیوفته چیست؟
-
سلام دوستان چه جوری می تونم بگم موقع روشن شدن سیتم این کامند ها به طور خودکار زده بشه
خواهشا نگید فقط فلان فایل رو ادیت کن بگید چه جوری در فایل باید وارد کنم
باید با مبحث cronjobs آشنا باشی، میتونی با استفاده از کامند:
sudo crontab -e
وارد فایل crontab بشی و اونجا مثلا بنویسی:
@reboot command
نکته: به جای command باید دستورت رو بنویسی.
شیوه بعدی هم ساخت یه اسکریپت و قرار دادنش تو لیست فایل های پراسس مربوط به init هست.
به این شکل که یه بش (یا هر شلی) اسکریپت مینویسی و کپیش میکنی تو مسیر /etc/init.d/، بعد هم بهش قابلیت اجرایی میدی:
chmod +x /etc/init.d/myscript.sh
اسکریپ باید به چه زبانی باشد تا شناسایی شود ؟
سریع ترین راه برای اینکه بتونم یه اسکریبت ساده بنویسم تا کارم را بیوفته چیست؟
برای Bash script یه فایل با پسوند .sh ایجاد کن و تو خط اولش بنویس:
#!/bin/bash
و در خطوط بعد دستورات مد نظرت رو بنویس.
در نهایت هم بهش قابلیت اجرایی بده.
-
سلام دوستان چه جوری می تونم بگم موقع روشن شدن سیتم این کامند ها به طور خودکار زده بشه
خواهشا نگید فقط فلان فایل رو ادیت کن بگید چه جوری در فایل باید وارد کنم
باید با مبحث cronjobs آشنا باشی، میتونی با استفاده از کامند:
sudo crontab -e
وارد فایل crontab بشی و اونجا مثلا بنویسی:
@reboot command
نکته: به جای command باید دستورت رو بنویسی.
شیوه بعدی هم ساخت یه اسکریپت و قرار دادنش تو لیست فایل های پراسس مربوط به init هست.
به این شکل که یه بش (یا هر شلی) اسکریپت مینویسی و کپیش میکنی تو مسیر /etc/init.d/، بعد هم بهش قابلیت اجرایی میدی:
chmod +x /etc/init.d/myscript.sh
اسکریپ باید به چه زبانی باشد تا شناسایی شود ؟
سریع ترین راه برای اینکه بتونم یه اسکریبت ساده بنویسم تا کارم را بیوفته چیست؟
برای Bash script یه فایل با پسوند .sh ایجاد کن و تو خط اولش بنویس:
#!/bin/bash
و در خطوط بعد دستورات مد نظرت رو بنویس.
در نهایت هم بهش قابلیت اجرایی بده.
نیازی نیست با چیزی ببندمش
راستی منبع هست که بتونم بش یاد بگیرم شاید به کارم امد
-
سلام دوستان چه جوری می تونم بگم موقع روشن شدن سیتم این کامند ها به طور خودکار زده بشه
خواهشا نگید فقط فلان فایل رو ادیت کن بگید چه جوری در فایل باید وارد کنم
باید با مبحث cronjobs آشنا باشی، میتونی با استفاده از کامند:
sudo crontab -e
وارد فایل crontab بشی و اونجا مثلا بنویسی:
@reboot command
نکته: به جای command باید دستورت رو بنویسی.
شیوه بعدی هم ساخت یه اسکریپت و قرار دادنش تو لیست فایل های پراسس مربوط به init هست.
به این شکل که یه بش (یا هر شلی) اسکریپت مینویسی و کپیش میکنی تو مسیر /etc/init.d/، بعد هم بهش قابلیت اجرایی میدی:
chmod +x /etc/init.d/myscript.sh
اسکریپ باید به چه زبانی باشد تا شناسایی شود ؟
سریع ترین راه برای اینکه بتونم یه اسکریبت ساده بنویسم تا کارم را بیوفته چیست؟
برای Bash script یه فایل با پسوند .sh ایجاد کن و تو خط اولش بنویس:
#!/bin/bash
و در خطوط بعد دستورات مد نظرت رو بنویس.
در نهایت هم بهش قابلیت اجرایی بده.
یازم سوال
ببخشید می خواستم بدن مثلا"
get -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -a -v xenial-22 -s bbb.example.com -e info@example.com
یاید تهش فرق داشته باشه ایا میشه به بش گقت از کسی که رانش کرده بپرسه ادرس سایت چیه و ان وارد کنه و جایگزاری شه و بعدش دستور با سایتی که طرف داده جای گذاری کنه ران کنه ایا میشه؟ اگه میشه چطوری؟
بازم بخشید
-
این ادرسی که شما می دید رو من ندارم نزدیک ترین ادرسی که بهش است initcpio/ است بعنی ان پوشه رو ندارم
-
تو همه توزیع های معروف دیگه از init استفاده نمیشه systemd یا upstart جایگزین شدن به خاطر همین /etc/init.d/ دیگه وجود نداره یا اگه باشه اثری روی بوت نداره. دو راه داری یا systemd کلا حذف کنی و init جایگزین کنی که فکر نکنم اصلا راحت باشه و اونطور که بقیه گفتن پیش بری یا اینکه اگه systemd داری اینجوری پیش بری:
اول هر جایی که خواستی یه اسکیریپت بنویس اولش همونطور که بقیه گفتن بنویس بعدش مسیر فایل بده. حتما لازم نیست cd کنی و بعد با /. رانش کنی مثلا اینجوری
sudo /usr/share/example.xyz
فایل example.xyz اجرا میشه همونجوری که با این دستور هم اجرا میشه cd /usr/share && ./example.xyz
بعد دسترسی اجرایی به اسکریپتی که ساختی میدی مثلا اسکیریپت اسمش test.sh و تو مسیر /path/to/test.sh قرار داره
sudo chmod +x /path/to/test.sh
بعد توی /etc/systemd/system/ یه فایل درست کنید به هر اسمی که میخواهید ولی آخرش service. بزارید و توش اینجوری بنویسید
[Unit]
Description= This is a simple service
[Service]
ExecStart=/path/to/test.sh
[Install]
WantedBy=multi-user.target
الان فایل سیو کنید و بیاید بیرون. یه نکته هم اینکه جلوی =Description میتونید هر توضیحی خواستید بنویسید.
حالا با این دستور سرویس enable کنید تا موقع روشن شدن اجرا بشه
sudo systemctl enable myservice.service
(myservice.service اسمی که برای فایل تو مراحل بالا گذاشتید)
امیدوارم اینجوری مشکلتون حل بشه
اینجا را (https://askubuntu.com/questions/919054/how-do-i-run-a-single-command-at-startup-using-systemd)هم ببینید بد نیست