ist meine Crontab-Syntax ungültig?

ist meine Crontab-Syntax ungültig?

einfache Frage:

10 4 * * * rm -rf ~/code/rehlds/build/ && ~/code/rehlds/build.sh --compiler=gcc --jobs=4 > /dev/null 2>&1

Ich habe nachgeschaut und es gibt keinen /build-Ordner, was darauf hinweist, dass build.sh nicht ausgeführt wurde.

crontab -e

10 4 * * * rm -rf ~/code/rehlds/build/ && ~/code/rehlds/build.sh --compiler=gcc --jobs=4 > /dev/null 2>&1

pgrep cron 658 1232359

also hier kann ich sehen, dass es ausgeführt wurde sudo grep CRON /var/log/syslog Dec 8 04:10:01 xxxx CRON[1190963]: (xxx) CMD (rm -rf ~/code/rehlds/build/ && ~/code/rehlds/build.sh --compiler=gcc --jobs=4 > /dev/null 2>&1)

mein Job wurde ausgeführt, aber nicht kompiliert, die Cronlog-Datei ist leer.

CMD (./code/rehlds/build.sh --compiler=gcc --jobs=4 &> ./cronlog)

Antwort1

  1. wenn du also mit 2 bash session arbeitest, musst du die datei mit nano nicht nur speichern, sondern auch schließen, erst dann wird die crontab hinzugefügt.

  2. beim Ausführen von build.sh muss ich zuerst in dieses Verzeichnis wechseln, sonst tritt der folgende Fehler auf:

$ ./code/rehlds/build.sh --compiler=gcc --jobs=4 CMake Error: The source directory "/home/cs2" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. make: *** No targets specified and no makefile found. Stop.

Ich habe das herausgefunden, indem ich diesen Befehl manuell ausgeführt habe

richtiger Befehl:

10 4 * * * cd ./code/rehlds && rm -rf ./build && ./build.sh --compiler=gcc --jobs=4 > /dev/null 2>&1

verwandte Informationen