Linux | Cronjob - MP3-Datei abspielen - Wie geht das?
Hallo liebe Linux-Gemeinde,
ich würde gerne täglich um 10:00 die Datei "Donau.mp3", welche in /home/user/Musik liegt, abspielen. Wie muss ich konkret vorgehen?
2 Antworten
Also das Vorgehen hängt natürlich immer von der Art der Umgebung ab. Eine Möglichkeit wäre eine Zeile in die /etc/crontab zu schreiben
0 10 * * * <username> /usr/bin/rythmbox /home/<username>/Musik/<musicfile.mp3
rhythmbox ist bspweise der mp3player, der wird nach Distribution abweichen.
Man kann natürlich auch das Verzeichnis für cron.daily benutzen, da es ja täglich ist. Oder man macht es ganz ordentlich und packt das skript unter /etc/cron.d/
Wie gesagt, je nach System, wofür wäre auch mein Vorgehen anders.
Vielleicht sagst Du cron, welchen Musikabspieler er für die Datei verwenden soll!
Das zweite ist ein relativer Pfad, der je nach Nutzer, der hier fehlt vermutl. fehler werfen wird, da ein norm. Nutzer immer unter /home/<user>/ schon ist und der root unter /root standardmäßig ist.
Der Nutzer heißt wortwörtlich "user".
Habe jetzt mpv installiert. Sollte so jetzt gehen, tut's aber noch immer nicht, was mache ich falsch?
0 10 * * * mpv ~/Musik/Donau.mp3
ich arbeite immer mit absoluten pfaden, seh mir das nach, mMn sollte das so laufen
0 10 * * * user /usr/bin/mpv /home/user/Musik/Donau.mp3
gffs. mit einem & dahinter, wenn du den player nicht sehen willst < nicht geprüft.
Immer, wenn ich den crontab-Editor mit 'crontab -e" neustarte, wird noch immer der Code angezeigt, denn ich das allererste mal eingegeben und gespeichert habe. Wenn ich dann den neuen Code, den du mir geschickt hast, eingebe, und dann mit Ctrl+O speichere, dann wieder neu starte, bleibt noch immer der aller erste Code da stehen. Woran liegt das? Ist das normal?
Kenn ich leider nicht, kanns auch leider nicht nachstellen. Bei mir zeigt er immer direkt die geänderte Datei an
Wie gehst du vor?
So, oder anders(?):
- command line 'crontab -e' eingeben
- gewünschten Code eingeben
- Strg+O und den Pfad so lassen, wie er vorschlägt
- dann editor schließen
Oder wie machts du es?
Wenn ich mit crontab -l überprüfen gehe, zeigt immer wieder den alten, nicht korrekten Code an...
Versuchs mal direkt mittels
<editordeinerwahl> /etc/crontab
aber über crontab -e funzt das bei mir wie es sollte :/
Was meinst du mit "editordeinerwahl"? Soll ich da "nano" bspw. hintexten, oder wie?
Zum Thema "zeigt-immer-alten-code-an": Habe jetzt mit "crontab -r" den Code zurückgesetzt. Wenn ich jetzt Code eingebe, mit Strg+O speichere, dann mit "crontab -l" den Code abfrage, dann sagt er mir "no crontab for user".
Das ist korrekt, das der Nutzer "user" jetzt keinen job mehr in der liste hat. Mach nochmal
crontab -e # Füge das hier ein
0 10 * * * /usr/bin/mpv /home/user/Musik/Donau.mp3
Strg + O
Enter # und dann nochmal
crontab -l
Was soll das Hashtag nach Enter?
Wie dem auch sei: klappt noch immer nicht.
https://prnt.sc/P55026KwSPL8
Ja, nach "Dateiname zum Speichern habe ich Enter gedrückt.
Das war eig. nur für dich, dass du das nicht ausführen sollst ^^ sondern quasi nur ein Kommentar dazu meinerseits ist
Ok, dann hab ichs ja richtig verstanden hehe
Ich bleibe trotzdem immer noch dabei hängen, dass der nach Speichern des neuen Codes "no crontab for user" nach Abfrage crontab -l sagt.
Hab's mit nem Freund schlussendlich doch hinbekommen.
Mein Fehler war wahrscheinlich dass ich einfach nicht mit Strg+X den Editor geschlossen habe...
Danke dir für deine Mühe! Mit deinem Code funktioniert's auf jeden Fall. :-)
Habe schon ein wenig getüftelt:
Geht aber leider nicht. Was mache ich falsch?
Bitte nimm's mir nicht übel, wenn ich mich dumm anstelle. Ich habe noch nie so richtig mit Linux gearbeitet.