[crond] voert m'n crontab niet uit zoals t hoort

Pagina: 1
Acties:

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 27-11-2025
Naar annleiding van het draadje Non-Windows humor 2, wilde ook ik zo'n leuke kerkklok op m'n PC. Dus ik wat zitten prutsen met crontab, en verrek, hij wilt niet.
Het gaat om de regel
code:
1
0 * * * * for ((i=0; i<`date +%-I`; i++)) { /BPlay/bplay-0.991/bplay /usr/share/sounds/churchbell.wav;}

met aan m'n crontab toegevoegd:
code:
1
SHELL=/bin/bash


En hij zeikt om
Mutt schreef:
/bin/bash: -c: line 1: unexpected EOF while looking for matching ``'
/bin/bash: -c: line 2: syntax error: unexpected end of file
Als ik dat zelfde regeltje minus de 0 en de sterretjes in mijn terminal (ook bash) 'uitvoer' speelt ie gewoon 10 keer mijn van de cd van Daft Punk gejatte kerkklok af... Waarom werkt ze niet mee.
Overigens handig om te weten: het regeltje
code:
1
30 * * * * /BPlay/bplay-0.991/bplay /usr/share/sounds/churchbell.wav
word wel naar geluisterd!

En voordat men begint te ehm... vragen of ik al heb gezocht, ik heb al wat op GoT rondgezocht, kon alleen helaas niets bruikbaars vinden ;)

[ Voor 18% gewijzigd door RSpliet op 11-12-2003 22:30 ]

Schaadt het niet, dan baat het niet


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
ten eerste schreeuwen we hier niet. Ten tweede, welke back quotes gebruik je? Want het ziet er naar uit dat je de verkeerde back quotes pakt, die dus niet echt backquotes zijn. Er is onder bash/sh een duidelijk verschil tussen ' en `. deze ` voert het commando uit.... ' zorgt ervoor dat die netjes de hele regel zou pakken. Verder zou je dit eens in je shell moeten zetten:
code:
1
echo `date +%-I`


dit geeft als output:

code:
1
2
3
Omega:~ ronald$ echo `date +%-I`
-I
Omega:~ ronald$


rara waar gaat het fout

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 27-11-2025
code:
1
2
[roy@roy roy]$ echo `date +%-I`
10


pardon? :+

Ik heb al t een en ander aan research gedaan, het lijkt erop dat dat ding m'n tweede ` niet pakt, omdat ie dat ziet als deel van t argument dat meegegeven word aan date... Ik kan hier alleen geen workaround voor vinden

Schaadt het niet, dan baat het niet


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
code:
1
2
3
4
5
Omega:~ ronald$ echo `date +%-I`
-I
Omega:~ ronald$ echo $SHELL
/bin/bash
Omega:~ ronald$


HUH? Hier snap ik nix van, geeft date dan bij mij een andere output dan bij jou?
* Zwerver gaat ff naar een andere bak connecten om te checken

code:
1
2
3
4
5
ronald@ns1:~$ echo `date +%-I`
10
ronald@ns1:~$ echo $SHELL
/bin/bash
ronald@ns1:~$

hmz daar geeft ie het wel goed terug dus....

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 20-02 14:43
/root/scripts/clock (chmod 700):
code:
1
2
3
4
5
#!/bin/bash

for ((i=0; i<`date +%-I`; i++)) {
  /BPlay/bplay-0.991/bplay /usr/share/sounds/churchbell.wav;
}


Je crontab (crontab -e):
code:
1
0 * * * * /root/scripts/clock

zeroxcool.net - curity.eu


  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 27-11-2025
k weet niet of t erg veel uitmaakt, maar ik gebruik dus Redhat 9...

Edit: ZeRoXcOoL, je 'hack' werkt wel... maar k vraag me toch af waarom t niet zonder extern script kan...

Oja, en waarom zou dat bestandje + die crontab als root moeten, inloggen als root doe ik niet tenzij ik iets moet installeren oid...

[ Voor 76% gewijzigd door RSpliet op 11-12-2003 22:41 ]

Schaadt het niet, dan baat het niet

Pagina: 1