2 minuten pause im shell skript
2 minuten pause im shell skript
huhu
also ich versuche gerade ein shell script dazu zu bringen über wget alle 2 minuten ein jpeg file runterzuladen und unter jeweils fortlaufenden nummern zu speichern.
des mit den fortlaufenden namen ist ja kein problem, aber die 2 minuten pause machen mir zu schaffen.
vielleicht kann mir ja jemand helfen?
danke schonmal
also ich versuche gerade ein shell script dazu zu bringen über wget alle 2 minuten ein jpeg file runterzuladen und unter jeweils fortlaufenden nummern zu speichern.
des mit den fortlaufenden namen ist ja kein problem, aber die 2 minuten pause machen mir zu schaffen.
vielleicht kann mir ja jemand helfen?
danke schonmal
-
lufthansen
- Posts: 390
- Joined: 2002-09-24 17:31
- Location: NRW
Re: 2 minuten pause im shell skript
hihi will da jemand ne webcam mitschneiden ? *gg*
vielleicht hilft dir das hier ?
Code: Select all
sleep --help
Usage: sleep NUMBER[SUFFIX]...
or: sleep OPTION
Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),
`m' for minutes, `h' for hours or `d' for days. Unlike most implementations
that require NUMBER be an integer, here NUMBER may be an arbitrary floating
point number.
--help display this help and exit
--version output version information and exit
Report bugs to <bug-sh-utils@gnu.org>.
erraten ...
ja ich will ne webcam mitschneiden um hinterher ein zeitraffer video zu erstellen :-) und für was hat man schon nen 1&1 rootie der das im hintergrund erledigen kann? *g*
so das mit den 2 minuten pause wäre dann geklärt... DANKE! :)
inzwischen hat sich herausgestellt, dass es für mich shell noob doch etwas schwerer als gedacht ist, ne laufende nummer in ne wget schleife reinzubekommen... argh...
vielleicht hast du nen kleinen skriptvorschlag?
also ich hätte gerne nen dateinamen mit hinten einer fortlaufenden nummer ... der wget befehl ist klar, aber wie binde ich da jetz noch ne variable ein, die bei jedem durchlauf +1 zählt?
danke schonmal für die hilfe :)
so das mit den 2 minuten pause wäre dann geklärt... DANKE! :)
inzwischen hat sich herausgestellt, dass es für mich shell noob doch etwas schwerer als gedacht ist, ne laufende nummer in ne wget schleife reinzubekommen... argh...
vielleicht hast du nen kleinen skriptvorschlag?
also ich hätte gerne nen dateinamen mit hinten einer fortlaufenden nummer ... der wget befehl ist klar, aber wie binde ich da jetz noch ne variable ein, die bei jedem durchlauf +1 zählt?
danke schonmal für die hilfe :)
-
lufthansen
- Posts: 390
- Joined: 2002-09-24 17:31
- Location: NRW
Re: 2 minuten pause im shell skript
hmm poste doch mal was du schon hast .. ich bin auch nene shell noob aber ma gucken :)
also...
hab grad beim rumprobieren was erfreuliches festgestellt:
wenn ich mit wget ne datei saug und die schon existiert, wird diese nicht überschrieben, sondern bekommt ein .jpg.1 .2 .3 .4 ... und immer so fort :)
damit muss ich mir auch bezügöich der dateinamen nichts mehr einfallen lassen.
somit problem gelöst :lol:
danke!
wenn ich mit wget ne datei saug und die schon existiert, wird diese nicht überschrieben, sondern bekommt ein .jpg.1 .2 .3 .4 ... und immer so fort :)
damit muss ich mir auch bezügöich der dateinamen nichts mehr einfallen lassen.
somit problem gelöst :lol:
danke!
Re: 2 minuten pause im shell skript
Kannst du das ganze nicht besser über einen Cronjob laufen lassen, anstatt 2 minütige Pausen in dein Shell Skript einzubauen?
hab ich ja momentan auch...
hab ich ja momentan auch...
das problem ist jetz nur noch, wie ich wget dazu bekomm die datei unter ner fortlaufenden nummer zuspeciehrn..... des nimmt nämlich irgendwie nur den originalname her und wenn der schon vorhanden ist, hängt er ein .1 .2 .3 .4 ... usw. dahinter, was natürlich für die weiterverwertung schlecht ist...
das problem ist jetz nur noch, wie ich wget dazu bekomm die datei unter ner fortlaufenden nummer zuspeciehrn..... des nimmt nämlich irgendwie nur den originalname her und wenn der schon vorhanden ist, hängt er ein .1 .2 .3 .4 ... usw. dahinter, was natürlich für die weiterverwertung schlecht ist...
Re: 2 minuten pause im shell skript
Habe mal eine kurze Lösung in Perl geschrieben. Das Programm legt einen index an und addiert bei jedem Start des Skriptes 1 zum gespeicherten Index dazu. So ein Skript kannst du auch ohne Problem als Cronjob einrichten. Als Beispiel URL habe ich mal irgendein Bild von der Puretec Seite genommen:
sprintf habe ich so benutzt, dass die Bilder in dem Format 0001.jpg etc. gespeichert werden.
Code: Select all
#!/usr/bin/perl
$url = "http://hosting.1und1.com/image/pt/de_DE/sp_starpaket.jpg";
open(DATEI,"<index");
my $index = <DATEI>;
close DATEI;
$number = sprintf("%04d",++$index);
system("wget -O $number.jpg $url");
open(DATEI,">index");
print DATEI $index;
close DATEI
wunderbar..
SUPER! DANKE!
hat einwandfrei geklappt, nochn bissl umgeschrieben, dass er die dateien auch da hinlegt wo se hinsollen, cron job erstellt und sich gefreut das es geht :-D :-D :-D
hat einwandfrei geklappt, nochn bissl umgeschrieben, dass er die dateien auch da hinlegt wo se hinsollen, cron job erstellt und sich gefreut das es geht :-D :-D :-D
Re: 2 minuten pause im shell skript
Ts ts ts... bitte keine Schleichwerbung :Dtuxyso wrote:$url = "http://hosting.1und1.com/image/pt/de_DE ... rpaket.jpg";
Re: 2 minuten pause im shell skript
Schleichwerbung, quatsch! Aber wer weiß, wieviel hundertausend Menschen dieses Skript ausprobieren werden und ich wollte ja nicht den Traffic von rootforum.org/ hochtreiben, sondern eher den von Puretec :)
was ich noch wissen wollte...
wenn ich jetz xxxxxxx.jpg haben will, wobei xxxxxxx wieder fortlaufende nummern sind... was muss ich da ändern?
vielleicht könntest du mir des noch sagen, dann lass ich dich in ruh
vielleicht könntest du mir des noch sagen, dann lass ich dich in ruh
Re: 2 minuten pause im shell skript
Also du möchtest mehr führende Nullen haben. Also z.B. nicht 0001.jpg, sondern 0000001.jpg. Das kannst du in der Zeile einstellen. %04d heißt 4 Ziffern, also 3 führende Nullen. Also müsstest du diese Zeile z.B. in %07d ändern.
Code: Select all
$number = sprintf("%04d",++$index);