abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 21:00 | Zajímavý software

Orbiter Space Flight Simulator (Wikipedie), počítačový simulátor vesmírných letů, je nově open source software. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 0
včera 17:33 | Nová verze

Byla vydána nová verze 2.4.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v Changelogu nebo v GitHub Milestones. Zdůraznit lze vícevláknové dekódování. Opraveny byly dvě bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Nová verze

Byla vydána nová verze 6.6 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi.

Ladislav Hagara | Komentářů: 0
včera 08:00 | Nová verze

Po půl roce od vydání verze 14.0 byla vydána nová verze 15.0 zvukového serveru PulseAudio (Wikipedie). Přehled novinek v poznámkách k vydání. V některých distribucích, například Fedora 34, byl zvukový server PulseAudio nahrazen novým multimediálním serverem PipeWire (Wikipedie).

Ladislav Hagara | Komentářů: 2
včera 07:00 | Zajímavý projekt

Konsorcium Linux Foundation představilo open source projekt Pyrrha, původně Prometeo. Jedná se o IoT platformu pro monitorování a ochranu života a zdraví hasičů. Představení na YouTube. Zdrojové kódy i návrhy a firmwary hardwarových senzorů jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 4
27.7. 20:44 | Nová verze

Apache Cassandra (Wikipedie), tj. open source NoSQL distribuovaná databáze, byla po šesti letech vydána v nové major verzi 4.0. Přehled novinek v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 2
27.7. 19:33 | Zajímavý projekt

WebHero je hra pro webové nadšence. V každém levelu čeká jeden úkol spojený s webovými technologiemi.

Ladislav Hagara | Komentářů: 11
27.7. 15:33 | Komunita

Alyssa Rosenzweig se na Twitteru pochlubila Debianem s mainline jádrem běžícím na Apple M1.

Ladislav Hagara | Komentářů: 2
27.7. 11:44 | Zajímavý článek Ladislav Hagara | Komentářů: 14
27.7. 01:33 | Pozvánky

Prázdniny jsou v plném proudu a jeden by si skoro řekl, že už těch výletů a sluníčka je až příliš mnoho. Nezoufejte však, i proto je tu po měsíci opět Virtuální Batlírna. S projektem MacGyver studentského klubu SiliconHill si můžete v příjemném virtuálním prostředí videokonference Zoom popovídat o aktualitách v elektronice nebo o rozličných technických problémech. A to všechno bez rizika spálení na slunci či poštípání dotěrným hmyzem.

… více »
bkralik | Komentářů: 16
Preferuji
 (62%)
 (28%)
 (10%)
Celkem 359 hlasů
 Komentářů: 70, poslední včera 15:20
Rozcestník

Dotaz: skript po startu pod sudo

27.5. 14:38 teevee70
skript po startu pod sudo
Přečteno: 424×
Dobré dopoledne , nějak se mi nedaří rozchodit skript na kontrolu zapnutí ventilátoru dle teploty tak, aby se spustil při event startu nebo restartu počítače . Skript samotný spouštěný z terminálu funguje dobře , ale pokud to zkusím cronem nebo rc.local , neproběhne požadované nastavení teploty . Kam ho dát, aby se spustil ?

díky za event pomoc

echo 50000 | sudo tee /sys/devices/virtual/thermal/thermal_zone0/trip_point_4_temp

Řešení dotazu:


Odpovědi

27.5. 14:44 pet I. | skóre: 10
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Pokud to cheš spustit v rc.local, tak tam dej

echo 50000 > /sys/devices/virtual/thermal/thermal_zone0/trip_point_4_temp

rc.local při startu běží pod rootem.
27.5. 16:11 teevee70
Rozbalit Rozbalit vše Re: skript po startu pod sudo
díky , ale bohužel se hodnota teploty takto spouštěným skriptem nezmění . Skript tedy neproběhne. Armbian 64 HW Odroid N2+
27.5. 19:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: skript po startu pod sudo
V té odpovědi to nebylo explicitně napsané, ale začněte tím, že odstraníte to nesmyslné sudo. Ten skript už pod rootem běží, sudo ničemu nepomůže, akorát to může rozbít.
27.5. 16:18 billgates | skóre: 25
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Pozri do sudoers, ci tam nemas nieco v zmysle:
Defaults   !visiblepw
Potom to odmietne bezat, ak to nema terminal. Cize ak mas, tak zakomentuj.
27.5. 16:20 billgates | skóre: 25
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Resp. odstran vykricnik.
27.5. 16:30 teevee70
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Díky za ochotu. Nic takového v sudoers nemám. Stejně mi skript nejde i přes sudo crontab -e Z terminálu spouštěný jede OK . Jsem z toho jelen.
27.5. 18:15 billgates | skóre: 25
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Skus pridat:
Defaults visiblepw
27.5. 19:13 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Raději ty nesmyslné změny v sudoers zase vraťte do původního stavu. Ve skriptu, který běží pod rootem, je nesmysl spouštět sudo.
27.5. 19:32 billgates | skóre: 25
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Nie je tam explicitne napisane, ze z cronu to spusta pod rootom.
27.5. 19:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Je tam napsané, že se to spouští z rc.local. Pokud by se to z nějakého záhadného důvodu pokoušel spouštět z cronu jiného uživatele, je nejjednodušší řešení přesunout to do systémového cronu. A upřímně řečeno, nemyslím si, že by tazatel věděl, že existuje uživatelský cron…
27.5. 21:55 teevee70
Rozbalit Rozbalit vše Re: skript po startu pod sudo
skript v cronu @reboot echo 50000 > /sys/devices/virtual/thermal/thermal_zone0/trip_point_4_temp

nejede ani v uživatelském cronus crontab -e ani v SU cronu sudo crontab -e
27.5. 23:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: skript po startu pod sudo
V cronu musíte uvádět absolutní cestu k příkazu, málokdy je tam nějak rozumně nastavená proměnná PATH. Lepší je dát do cronu (absolutní) cestu k nějakému skriptu a teprve v tom skriptu mít výkonný kód.
29.5. 10:23 pavele
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Po zkušenostech s cronem jsem vždy do cronu dal jen odkaz na bash skript, který spouští.

Taky dávám jeden prázdný řádek na konec crontabu - někdy se mi stávalo, že bez prázdného řádku na konci se to nespustilo.

Podle distribuce jsou v cronu různě omezené proměnné $PATH (shell je většinou /bin/sh).

Dá se to dobře odladit - můžu třeba root cron spouštět každou minutu a ve skriptu mít:

echo "jede" >>/root/jedetest.txt

Takže příklad pro sudo crontab -e:

* * * * * /root/mujskript.sh

Spustitelný skript /root/mujskript.sh:
#!/bin/bash

echo "jede" >>/root/jede.txt

Jendа avatar 28.5. 02:03 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Tipuju, že není aktivovaná systemd služba, která spouští rc.local -- mám pocit, že třeba na CentOSu to defaultně není a musíš si ji napsat. Pro představu takto vypadá v Debianu:
# /lib/systemd/system/rc-local.service
#  SPDX-License-Identifier: LGPL-2.1-or-later
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

# /lib/systemd/system/rc-local.service.d/debian.conf
[Unit]
# not specified by LSB, but has been behaving that way in Debian under SysV
# init and upstart
After=network-online.target

# Often contains status messages which users expect to see on the console
# during boot
[Service]
StandardOutput=journal+console
StandardError=journal+console
Nejdřív bych udělal systemctl status rc<TAB><TAB> (musíš mít nainstalovaný bash-completion balíček) abys zjistil jestli už neexistuje. Pokud ne, tak ji vytvoř /etc/systemd/system/rc-local.service, systemctl enable rc-local.service, a po restartu systemctl status rc-local.service. Taky si v tom skriptu třeba vytvoř touch /tmp/foo ať víš že se to spustilo.

Když ti to nefunguje v cronu, tak to bude buď v syslogu, nebo ti to pošle email - musíš mít v systému funkční maily, což já dělám většinou pomocí ssmtp.
Je to vlastně jenom taková obyčejná mikrovlnka, jenom otevřená ven.
Řešení 3× (Filip Jirsák, KOLEGA, Peter Golis)
Heron avatar 28.5. 07:54 Heron | skóre: 52 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Lepší řešení je vytvořit si oneshot service. Je to přehlednější než rc.local, uvidí, jestli ta konkrétní věc selhala a uvidí k ní výstup z logů ve statusu.

rc.local, @reboot apod. ptákoviny už prosím ne.
30.5. 04:07 BFU
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Tohle by bylo lepsi resit pres udev, treba napsat /etc/udev/rules.d/99-thermal.rules s obsahem neco jako:

ACTION=="add", KERNEL=="thermal_zone0", SUBSYSTEM=="thermal", ATTR{trip_point_4_temp}="50000"
28.5. 09:44 billgates | skóre: 25
Rozbalit Rozbalit vše Re: skript po startu pod sudo
Na CentOS je taka sluzba a je aj spustena, ale trik je v tom, ze rc.local nema defaultne executable bity nastavene a sluzba subor nevykona, kym pouzivatel umyselne nenastavi tomuto suboru +x. Je to okrem ineho priamo v nom aj napisane ako komentar.
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.