PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Blick net durch bei der /etc/crontab



28.11.00, 16:24
Hallo Leutz,

irgendwie peile ich das mit der crontab net.

Also zu meinem Problem:
Ich habe hier ein Shellscript, womit ich MP3s ganz schnell in mein Format (interpret__titel.mp3) umaendern lassen kann.

Nun bin ich es leid, mich selber darum zu kuemmern, deshalb wollte ich es ueber die crontab laufen lassen.

Schoen und gut, aber wie bitte muss ich da was eintragen ?
Ich haette gerne das mein Script (welches in /usr/bin/mpegrename liegt) jede Stunde automatisch in einem Verzeichnis (/home/mp3/)
+ Unterverzeichnise nach MP3s sucht, und diese dann umaendert.

Ich benutze RedHat 7.0 falls man das wissen muss.

Ich bedanke mich fuer die Antworten, schon einmal im vorraus.



------------------
Gruss Pierre

28.11.00, 18:02
Hallo Pierre,
also:

1. log Dich als root ein
2. gib crontab -e (e steht für edit) ein
3. Nun müsste vi starten
4. drücke nun die Taste s
5. jetzt kannst Du Deinen Eintrag vornehmen
* 0-23 * * * /usr/bin/mpegrename /home/mp3/.
(nach dem letzten Stern muss der gesamte Pfad zu Deinem Script mit Optionen angegeben sein der Punkt nach mp3 schliesst alle Unterverzeichnisse dieses Ordners mit ein)
6. Drücke wieder die ESC-Taste um den Schreibmodus von vi zu beenden und in den Befehlsmodus zu kommen.
7. Gib jetzt ZZ ein vi beendet sich darauf hin und Du müsstest eine Ausgabe sehen die so oder so ähnlich lautet "crontab: installing new crontab"
8. Du hast es geschafft! Hoffentlich!?
9. Wenn nicht einfach noch mal posten!

Gruss

28.11.00, 19:55
Sorry, aber ich habe vergessen zu erwaehnen, das ich erst in das Verzeichnis /home/mp3/ wechseln muesste.
Sonst funktioniert das Script leider nicht http://www.linuxforen.de/ubb/frown.gif

Wie muesste dann der Eintrag fuer die crontab aussehen ?



------------------
Gruss Pierre

28.11.00, 20:42
Hast Du es schon probiert? Wenn ja weiss ich dann auch leider nicht mehr weiter!!! Poste mal das Script!!!! Vielleicht kann ich Dir dann helfen!!!

28.11.00, 21:08
Nochmal sorry,
es handelt sich um ein PerlScript (so nennt man das glaube ich)

Also wenn ich das eintrage was du mir angegeben hast, dann bekomme ich ne email:

--
Cron <root@linux> /usr/bin/mpegrename /home/mp3/.
From: root@linux.local (Cron Daemon)
To: root@linux.local
Date: Tue, 28 Nov 2000 21:57:01 GMT

MP3 Renamer v0.1

Usage: mpegrename [directory..]

ls: *.mp3: No such file or directory
--

das liegt daran das ich in das Verzeichnis wechseln muesste wo ich die MP3s aendern lassen will.

Nun das Script:

--
#!/usr/bin/perl

print STDERR "\nUsage: mpegrename [directory..]\n\n";
$test=`ls -1 *.mp3`;
@files = split(/\n/,$test);

for(@files)
{
$org_file = $file = $_;
if ($file !~ /^\(/) {$file =~ s/\s*-\s*/__/};
$file =~ s/^\(//;
$file =~ s/^\d*\s*//;
$file =~ s/\)\s*-\s*/__/;
$file =~ s/\)\s*/__/;
$file =~ s/\ /_/g;
$file = lc($file);
if ($file ne $org_file)
{
print $org_file." -> ".$file."\n";
`mv "$org_file" "$file"`;
}
else
{
print $org_file.": unveraendert.\n";
}
}
--

Muesste ich eventuell etwas abaendern, damit ich das Verzeichnis net wechseln muss ?

Danke fuer deine Hilfe



------------------
Gruss Pierre

29.11.00, 15:36
Hallo Pierre,

leider kenn ich mich mit Scripts auch nicht so gut aus!
Ich würde mal folgende Änderung versuchen:

#!/usr/bin/perl

print STDERR "\nUsage: mpegrename [directory..]\n\n";
cd /home/mp3/ <<<<<<< ÄNDERUNG!!!!!!!!!!!
$test=`ls -1 *.mp3`;
@files = split(/\n/,$test);
.
.usw

Das mit Unterverzeichnissen dürfte dann aber nicht klappen es müssten alle mp3 im gleichen Verzeichniss stehen. Poste doch mal das Script in der Scriptnewsgroup da wird Dir bestimmt geholfen.

Bei meinem Vorschlag müsstest Du aber dann die crontab wie beschreiben ändern und das was in Klammern steht löschen. Zeile* 0-23 * * * /usr/bin/mpegrename (/home/mp3/.)

Hoffe Du kommst jetzt weiter, wenn nicht, schreib wieder!!!