Portál AbcLinuxu, 16. července 2025 05:20


Dotaz: Spuštění skriptu při startu systému

6.5.2005 12:27 spectrum | skóre: 29 | blog: spectrumblog
Spuštění skriptu při startu systému
Přečteno: 486×
Odpovědět | Admin
Dobrý den,
napsal jsem si skript na stahovaní obrázků (pomocí wget) ze síťové kamery. Skript spouštím a vypínám cronem, ale potřeboval bych ho spustit při startu počítače (co kdyby vypli proud ..). Zkoušel jsem lecos, ale nějak se mi nedaří. Skript funguje jako nekonečná smyčka, takže výsledek byl buď že se systém zastavil při náběhu (spustil se skript), nebo "nedoběhl" - naskočil jeden terminál, nebo se nespustilo nic. V příslušném runlevelu jsem to měl, že se skript spustí na pozadí pomocí & tuším, ale nic nepomohlo.
Skriptik vypada takhle:
#!/bin/bash
cd /home/martin/obrazky

while true; do
/usr/bin/wget -r  -A jpg -R snapshot*  -nH --cut-dirs=2 -P `date +%a/%k/%M/%S` 
http://192.168.1.187/view/snapshot.shtml?picturepath=/jpg/image.jpg sleep 1 done
Predem diky za případné rady.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.5.2005 12:36 seventhatom
Rozbalit Rozbalit vše Re: Spuštění skriptu při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin
co na neho dat odkaz z /etc/rc.d/rc.local?
wake avatar 6.5.2005 12:37 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: Spuštění skriptu při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin
man anacron
Tento příspěvek má hlavičku i patičku!
6.5.2005 12:44 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: Spuštění skriptu při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin
vi /etc/rc.d/rc.local
a tam zapište
# má-li spustitelný atribut, spusť ten script
[ -x /cesta/ke/scriptu/script.sh ] && /cesta/ke/scriptu/script.sh
Popř. si také pro pohodlné ovládání napiště pro ten script initscript, např.:
#!/bin/sh

script_start() {
  if [ -x /cesta/ke/scriptu ]; then
    echo "Starting SCRIPT: /cesta/ke/scriptu/script.sh"
    /cesta/ke/scriptu/script.sh
  fi
}

script_stop() {
  killall script.sh
}

script_restart() {
  script_stop
  sleep 1
  script_start
}

case "$1" in
'start')
  script_start
  ;;
'stop')
  script_stop
  ;;
'restart')
  script_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac
A pojmenujte si ho např. /etc/rc.d/rc.script a v /etc/rc.d/rc.local pak mějte:
[ -x /etc/rc.d/rc.script ] && /etc/rc.d/rc.script start
Snadno ho pak můžete shodit nebo restartovat pomocí příkazů
/etc/rc.d/rc.script stop
/etc/rc.d/rc.script restart
Fantazii se meze rozhodně nekladou a možností je vždy několik.
6.5.2005 13:11 spectrum | skóre: 29 | blog: spectrumblog
Rozbalit Rozbalit vše Re: Spuštění skriptu při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky vsem,
zkusil jsem teda pro zmenu rc.local a zjistil, ze tam proste mam chybu. O anacronu si poctu a skript prilezitostne vylepsim dle navodu. (Jsem to chtel spustit pod uzivatelem, a zmatlal su).
Diky
6.5.2005 13:15 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Spuštění skriptu při startu systému
Jestli to má stejně běžet pod jiným uživatelem, tak man 5 contab a
@reboot /skript/co/to/nahodi

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.