Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Volná diskuze / Re:Úkol :-)
« Poslední příspěvek od Petr Gajdůšek kdy Včera v 04:45:15 »
Musíš ten script přece volat s parametry, který očekává.
Kód: [Vybrat]
muj_skript.sh <uzivatel> <home>
Přidej ty parametry do ExecStart= své systemd unity, stejně jako bys script spouštěl z příkazové řádky.

Jinak ten script má celkem dost problémů:

Volání adduser bys měl ošetřit pro libovolné (i nevalidní) hodnoty parametrů, např. obsahující mezery nebo začínající pomlčkou:
Kód: [Vybrat]
/usr/sbin/adduser --home="$home_directory" -- "$user"
Pokud má být script neinteraktivní, nemá v něm co dělat volání interaktivního sudo. Můžeš explicitně kontrolovat ještě před voláním adduser, zda je skript spuštěn pod rootem, jinak skončit chybou; místo toho abys nechal na nedostatek práv selhat až volání adduser.
Kód: [Vybrat]
if [[ $(whoami) != root ]]; then echo "You must run this script as root" >&2; exit 1; fi
Volat adduser jenom tehdy, pokud uživatel neexistuje, aby ses vyhnul neustálému selhávání a logování chyby. Ke zjištění, zda uživatel existuje se dá použít návratový kód příkazu getent passwd
Kód: [Vybrat]
if ! getent passwd -- "$user" >/dev/null; then ... fi
Mohl bys lépe parsovat parametry scriptu a případně vypisovat help.
http://wiki.bash-hackers.org/scripting/posparams

Hodně zdaru!
2
Správa a instalace softwaru / Re:Spuštění aplikace při startu
« Poslední příspěvek od aricak kdy 11. 12. 2017, 23:08:05 »
Tak po delším kolaborování jsem to asi dal dohromady.

Ještě jsem našel toto:
https://github.com/Ahtenus/minecraft-init

Udělal jsem složku /opt/minecraf-init/
vytvořil jsem simlink v /etc/init.d/minecraft-barunka odkazující na /opt/minecraf-init/minecraft
nakofiguroval jsem config v /opt/minecraf-init/minecraft/config

Myslím si když se přejmenuje minecraft-init např na minecraft-barunka a změní se v minecraft skritpu z minecraft-init na minecraft-barunka, dalo by se rozběhnout i 2. server pod jiným uživatelem. (Což já nepotřebuji, aspoň doufám)

server se krásně ovládá přes /etc/init.d/minecraft-barunka help kde jsou všechny příkazy.


 
3
Volná diskuze / Re:Úkol :-)
« Poslední příspěvek od Zikáč kdy 11. 12. 2017, 20:52:30 »
Ta kontrola statutu se hodila, moc díky. Jen mám teď problém - skript se má spustit automaticky a při jeho spuštění mám zadat jméno a domovský adresář nového uživatele. Měl jsem skript takto:

#!/bin/bash

user=$1
home_directory=$2

sudo adduser $user --home $home_directory


Pokud to nastavím a spustím, nic se nestane, pouze v logu napíše, že adduser potřebuje vstupní parametry. Zadání úkolu je takové, že skript nesmí být interaktivní. Když zadám do skriptu hodnoty přímo do příkazu adduser, uživatel se co 20 minut vytvoří.

Co s tím?

P.S.: Pokud skript výše napsaný spustím manuálně, zadám heslo sudo a terminál se zavře.
4
Hardware / Re:AverMedia TD310
« Poslední příspěvek od čepi kdy 11. 12. 2017, 19:24:27 »
Borci, povedlo se vam nekomu rozjet tu TD310 pod Linuxem?
5
Volná diskuze / Re:Úkol :-)
« Poslední příspěvek od Petr Gajdůšek kdy 10. 12. 2017, 17:18:45 »
Ten postup je v pořádku.

Snad jen zvýšit přesnost pomocí AccuracySec=, protože výchozí hodnota je 1 minuta, takže se ti skript bude volat každých 20 - 21 minut.

Zkontroluj status toho timeru a podívej se na logy.

TIP: Pokud ten script něco zapíše na standardní výstup (nebo standardní chybový výstup) tak se to objeví v logách. Toho můžeš využít k ladění.

Kód: [Vybrat]
$ sudo systemctl status myscript.timer
$ sudo journalctl --no-tail --follow --boot --unit myscript.service

Případně všechny logy (při omezení na unitu mně journalctl vynechává logy).
Kód: [Vybrat]
$ sudo journalctl --no-tail --follow --boot
6
Volná diskuze / Re:Úkol :-)
« Poslední příspěvek od Zikáč kdy 10. 12. 2017, 12:50:48 »
Zkoušel jsem hledat podle tvé rady. Našel jsem tento postup:

https://jason.the-graham.com/2013/03/06/how-to-use-systemd-timers/

Vše se mi povedlo nastavit bez problémů, skript se ale vůbec nespustí. Je na tom postupu něco špatně?

Díky..
7
Volná diskuze / Re:Úkol :-)
« Poslední příspěvek od Petr Gajdůšek kdy 10. 12. 2017, 01:10:31 »
Ahoj,

nemám zkušenosti, ale kdybych chtěl co nejjednodušeji něco spouštět každých 20 minut po restartu, podíval bych se nejdříve na
Kód: [Vybrat]
man 5 systemd.timera na popis voleb OnBootSec= a OnUnitActiveSec=, případně OnUnitInactiveSec=
8
Volná diskuze / Re:Úkol :-)
« Poslední příspěvek od Zikáč kdy 09. 12. 2017, 19:47:54 »
Opět zdravím všechny :-)

A opět máme úkol, tentokrát to snad bude jednodušší. Mám spouštět skript každých 20 minut po restartu. To jak nastavit spouštění každých 20 minut bych už měl pomocí crontab, ale jak tam přidat ten restart(reboot)? Googlování ukazuje na @reboot, ale to se mi nějak nezdá. Byla by možná rada?

P.S.: Mám spouštět ten skript, který jsem tvořil na začátku tohoto vlákna - vytvoření uživatele.

Předem děkuji.
9
Správa a instalace softwaru / Re:Spuštění aplikace při startu
« Poslední příspěvek od aricak kdy 08. 12. 2017, 09:35:58 »
Ještě jsem našel toto:
https://github.com/Ahtenus/minecraft-init
Ale fakt nevím co to udělá a jak to má fungovat.

Prosím poraďte.
10
Správa a instalace softwaru / Re:Spuštění aplikace při startu
« Poslední příspěvek od aricak kdy 08. 12. 2017, 09:28:14 »
Hm tak tohle mi nefunguje... :-(
Stran: [1] 2 3 ... 10