Nagrywanie p

Potrzebujesz pomocy z C, C++, perl, python, itp.
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Nagrywanie płyt przy pomocy skryptu uruchamianego z udziału samby

Post autor: cooleq »

Witam.
Tak się zastanawiałem, czy da się skonstruować jakiś plik wykonywalny, który uruchamiany przez użytkownika nie w konsoli może wykonać jakieś polecenia na serwerze. Chodzi o stworzenie takiego udziału, żeby można było tam wrzucić pliki i klikając inny plik wszystko z udziału się nagra. Chyba, że ma ktoś inny pomysł uruchomienia nagrywarki serwerowej.
Awatar użytkownika
marcin1982
Moderator
Posty: 1732
Rejestracja: 05 maja 2011, 12:59
Lokalizacja: Zagłębie Dąbrowskie

Post autor: marcin1982 »

Myślę, że przy pomocy poleceń opisanych tutaj: http://linux4u.w.interia.pl/cdrw.html można skonstruować skrytp, który najpierw utworzy obraz *.iso z katalogu, a następnie go nagra. Pozostaje więc tylko kwestia zdalnego uruchomienia go na serwerze. To co może być nieaktualne w tym opisie:

Kod: Zaznacz cały

[root@localhost marcin]# apt-get install mkisofs
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting cdrkit-genisoimage for 'mkisofs'
0 aktualizowanych, 0 nowo instalowanych, 1 przeinstalowywanych, 0 removed and 0 not upgraded.
oraz sposób wykrywania (nomenklatura) urządzeń napędów: /dev/sr0 ; /dev/sr1 zamiast /dev/hdc.
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Skrypt do wypalenia zawartości folderu jest prosty.

Kod: Zaznacz cały

tar -cvzf /dev/stdout /home/nagraj | split -d -b 4000m - /home/nagraj/temp/file.tgz.
ile=`ls /home/nagraj/temp/ | wc -l`
i=0
for ((i=0;i<$ile;i++))
do
 echo $i
 mkisofs -J -r -v -V nagrania -o /home/nagraj/nagrania.iso /home/nagraj/temp/file.tgz.0$i
cdrecord -v -eject dev=/dev/scd0 /home/nagraj/nagrania.iso
 i=$(($i+1))
done
rm -R /home/nagraj/*
To będzie działąć jeśli ktoś mi podpowie jak zatrzymać skrypt w oczekiwaniu na czystą płytę.
Z tym, że nie wiem jak go wykonać, żeby nie trzeba było się logować przez ssh. Tak żeby zwykły użytkownik mógł nagrać płytę na serwerowej nagrywarce.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Z tego co wiem, to przez sambę tego skryptu nie wykonasz. Klinięcie spowoduje wykonanie skryptu lokalnie. Rozwiązaniem byłoby zrobienie skryptu www, albo automatycznie w cronie co jakiś czas wykonywanie tego skryptu, przy czym musiałbyś rozbudować go o obsługę wszystkich możliwości błędów. Np. sprawdzanie, czy coś jest do wypalenia w tym katalogu, czy jest płyta w nagrywarce, i czy jest to płyta nadająca się do wypalenia. Jeśli jeden z powyższych warunków zwróci:

Kod: Zaznacz cały

false

to skrypt zakończy się błędem. I tak w kółko, aż zostaną wszystkie warunki spełnione.

Oczywiście, jeśli więcej użytkowników miałoby z niego korzystać to musiałbyś rozbudować skrypt o kolejki np. według daty umieszczenia. Wszystko da się zrobić, ale będzie dużo pisania.
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Użycie crona chyba nie ma sensu, chyba łatwiej rozbudować webmina o przycisk uruchamiający skrypt. Nie jest to w sumie bardzo potrzebne bo aż tak dużo ludzi z tego nie korzysta, traktuję to bardziej jako ciekawostkę.
Mimo wszystko dziękuję za odpowiedź, choć wykonywania akcji na serwerze bez logowania się dalej mnie ciekawi.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Z tego co się orientuję nie da rady przez sambę uruchomić skryptu, po prostu.

A rozwiązanie z cronem i kolejkami jest może i trudne do zrobienia ale popatrz jaka frajda: podrzucasz plik i tyle. Czekasz na swoją kolej. Musisz jeszcze tylko zaangażować [babcie|mamę|narzeczoną] żeby zmieniała płyty ;)
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

W biurze nie mam mamy/babci, a problem by się pojawił jakby ludzie wrzucali, a potem nie zmieniali płyt. Ty sobie chcesz coś nagrać i dopiero n-ta płyta wychodzi z Twoim nagraniem, do tego musisz wszystkie po drodze sprawdzać, czy to aby nie ta. Raczej by się to nie sprawdziło zwłaszcza, że czasem musi być coś zrobione szybko i bezbłędnie.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

&quot pisze:Ty sobie chcesz coś nagrać i dopiero n-ta płyta wychodzi z Twoim nagraniem, do tego musisz wszystkie po drodze sprawdzać, czy to aby nie ta.
Tak działają kolejki :) Spoko, trochę żartobliwie napisałem. Jasne, że pewnie nie da się to wszędzie wprowadzić. Pozostaje webpanel.
ODPOWIEDZ