Sehr geehrte Damen und Herren,
ich wollte heute ein Crontab anlegen und habe in Internet geschaut wie man das macht.
Schnell fand ich die Lösung nur funktioniert mein Skript nicht.
Was mache ich nur falsch?
MfG, Peter-Juljano
Sehr geehrte Damen und Herren,
ich wollte heute ein Crontab anlegen und habe in Internet geschaut wie man das macht.
Schnell fand ich die Lösung nur funktioniert mein Skript nicht.
Was mache ich nur falsch?
MfG, Peter-Juljano
Crontab führt kein Sh-Skript aus? Schau mal ob du hier fündig wirst!
Ist denn die Datei FTP.sh ausführbar?
ls -l /home/pi poste bitte mal dieses Ergebnis wenn du dir nicht sicher bist
Was steht denn in der FTP.sh drin? Stichwort SheBang.
Dann noch die Frage welche Crontab Du benutzt. Mit welchem Befehl hast Du diese zum Bearbeiten aufgerufen?
Was steht denn in der FTP.sh drin? Stichwort SheBang.
Dann noch die Frage welche Crontab Du benutzt. Mit welchem Befehl hast Du diese zum Bearbeiten aufgerufen?
sudo nano crontab -e war das.
Steht das da wirklich in einer Zeile? Oder ist das ein Kopierfehler?
Vom Shebang (den vermutl. die Forensoftware gefressen hat) mal abgesehen, im Cronjob das /1 nach dem * kannst Du Dir schenken. Hast Du an eine Leerzeile am Ende der Crontab gedacht? Was genau macht die Datei FTP.sh? Funktioniert die beim Aufruf in der Konsole? Enthält die relative Pfade? Zeige die doch bitte mal komplett (Passwörter usw. unkenntlich machen)!
Wenn Dein Shellskript leer ist, woran erkennst Du dann, daß es nicht ausgeführt wurde – oder habe ich hier einen Anzeigefehler?
sudo nano crontab -e war das.
Mit Sicherheit nicht.
es steht ja noch
drin, nur direkt hinter der Shebang, deswegen meine Frage
Mit Sicherheit nicht.
Wieso nicht? Der Befehl ist ausführbar, wenn auch falsch
es steht ja noch [...] drin
Ich sehe in #6 unter Shell-Skript nur die Zeilennummer "1." und dann nichts mehr. Läuft da bei mir was schief?
Wieso nicht? Der Befehl ist ausführbar, wenn auch falsch
Da hast Du natürlich wieder recht – und wenn die "crontab" in #1 tatsächlich so erstellt wurde und das angehängte Bild einen Screenshot des Editors anzeigt, ist es auch kein Wunder, daß der "cronjob" nicht ausgeführt wurde – und zwar unabhängig davon, ob FTP.sh ausführbar ist, einen korrekten Shebang enthält oder was sonst noch drinsteht.
In diesem Falle Juljano: Anleitung zum Erstellen einer crontab bitte noch mal genau lesen – und bei der Gelegenheit gleich darüber nachdenken, ob Du für den geplanten cronjob wirklich root-Rechte brauchst.
sudo nano crontab -e war das.
Editiert die Crontab des Root-Users.
Die Crontab editiert man außerdem mittels "crontab -e" für den aktuellen User, als berechtigter User als "crontab -u %User-name% -e" (z.B. als Root für den user mit dem Namen %User-Name%)
Wenn einem der Editor für die Crontab nicht gefällt, passt man die Umgebungsvariable "EDITOR" entsprechend an.
Editiert die Crontab des Root-Users.
Nein. Der Befehl erstellt eine Datei "crontab" im aktuellen Arbeitsverzeichnis, die root gehört.
Vom Shebang (den vermutl. die Forensoftware gefressen hat) mal abgesehen, im Cronjob das /1 nach dem * kannst Du Dir schenken. Hast Du an eine Leerzeile am Ende der Crontab gedacht? Was genau macht die Datei FTP.sh? Funktioniert die beim Aufruf in der Konsole? Enthält die relative Pfade? Zeige die doch bitte mal komplett (Passwörter usw. unkenntlich machen)!
Er konnte keine Verbindung herstellen weil der Server aus war.
MfG , Peter
Jain! Ich erkläre es nochmal deutlicher.
- Du rufst die Crontab des Users root mit sudo crontab -e (ohne nano im Befehl!) auf mit crontab -e (ohne nano im Befehl!) auf. Wenn Du das erste mal eine Crontab aufrufst, dann wirst Du aufgefordert einen Editor zu wählen. Ich würde Dir nano empfehlen.
- Nachdem die Crontab nun geöffnet ist, schreibst Du in die letzte freie Zeile * * * * * /home/pi/FTP.sh und drückst nochmal die Enter-Taste, so dass am Ende der Cronrab eine Leerzeile entsteht.
- Dann nano mit STRG + O speichern und mit STRG + X schliessen.
- In Deiner Datei ist nicht erkennbar, ob dem Shebang eine Raute (#) voransteht... der muss so aussehen. #!/bin/bash.
Sollte so funktionieren...
Du rufst die Crontab des Users root mit sudo crontab -e
Gegenvorschlag: Du bearbeitest die crontab des Users pi mit dem Befehl crontab -e – ohne sudo und, wie hyle richtig schreibt, ohne nano. Ich zumindest sehe im gezeigten Skript keinerlei Vernalssung, es als root auszuführen. Weiteres Vorgehen dann wie von hyle beschrieben.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!