Nowe posty

Autor Wątek: [Bash] Uruchamianie Screen'a i Komend oraz "Ukrywanie"  (Przeczytany 1783 razy)

WeAre.McAnon

  • Gość
Witam forumowiczów,
otóż chciałbym napisać skrypt w bash,
który to uruchomi się z systemem (Debian 7.8).
Wiem że, trzeba to zrobić w folderze "/etc/init.d/"
i zainicjować skrypt za pomocą komend

[sudo update-rc.d "plik_skryptu" defaults ]

To normalnie działa .

Jest problem z napisaniem takiego skryptu, który uruchomi "wirtualne okno (screen)"
"wpisze komendy" sprawdzi czy wszystko ok i ukryje w tło .
I następnie otworzy kolejny screen i ta sama procedura co wyżej .
Te komendy to :

uruchomienie icecast2

[icecast2 -c /etc/icecast2/icecast.xml]

sprawdzenie czy zamontowana została chmura przez davfs2
jesli tak to przejscie do katalogu

 [cd /mnt/dav/]

wylistowanie katalogu w celu sprawdzenia czy wszystkie pliki są

[ls]

znalezienie plików i zapisanie do pliku main.txt(*.mp3)

 [find /mnt/dav/main/ -name *.mp3 -print > main.txt]

po zapisaniu "main.txt"

uruchomienie autodj (ices0)


[ices -c /mnt/dav/main.conf]

sprawdzenie czy transmisja ruszyła (http://127.0.0.1:8000/main)

ukrycie screena w tło

uruchomienie kolejnego "wirtualnego okna" i ta sama procedura ,zamknięcie  tak dalej.

Dziękuje z góry za pomoc.

WeAre.McAnon

  • Gość
[Bash] Uruchamianie Screen'a i Komend oraz "Ukrywanie"
« Odpowiedź #1 dnia: 2015-06-19, 19:26:19 »
obecnie takie coś wydłubałem ale nie działa :/
#! /bin/sh
# /etc/init.d/radio

echo "Uruchomienie Icecast2"
screen -dmS -t icecast2 bash -c 'icecast2 -c /etc/icecast2/icecast.xml' ;
echo "Montowanie chmury"
mount /mnt/dav/
echo "Przejście do katalogu /mnt/dav/"
screen -dmS -t main_channel bash -c 'cd /mnt/dav/ ;
echo "Skanowanie zawartości wybranego katalogu" ;
ls ;
echo "Listowanie plików muzycznych dla kanału Main" ;
find /mnt/dav/main/ -name *.mp3 -print ;
echo "Listowanie Zakończono pomyślnie" ;
echo "Tworzenie Pliku main.txt" ;
find /mnt/dav/main/ -name *.mp3 -print > main.txt ;
echo "Zakończono procedurę tworzenia playlisty main.txt" ;
echo "Trwa uruchamianie Kanału Main" ;
ices -c /mnt/dav/main.conf ;
echo "Transmisja Kanału Main rozpoczęta" ' ;

# The following part carries out specific functions depending on arguments.
case "$1" in
  start)
    echo "Starting foobar"
    echo "foobar is alive"
    ;;
  stop)
    echo "Stopping foobar"
    echo "foobar is dead"
    ;;
  *)
    echo "Usage: /etc/init.d/radio {start|stop}"
    exit 1
    ;;
esac

exit 0