Ik ben al enige weken aan het vechten met een cron instelling. Ik heb zelf een bash script gemaakt test.sh genaamd die mijn usenetsoftware en mijn netwerk bridge opstart. Nu wil ik dus dat dit script iedere keer bij het opstarten van het systeem gestart wordt. Normaal moet dit niet z'n probleem zijn maar het lukt me toch niet om alles goed te laten verlopen.
Dit is de exacte regel in crontab :
# m h dom mon dow command
@reboot /home/ianmen/test.sh
In welke crontab staat het? De systeembrede crontab, of degene voor jouw gebruiker?
#!/bin/bash
sleep 50
hellanzb.py -D
ifup br0
echo "Usenet_Network_up"
Als je dit in de systeembrede crontab hebt gezet, wordt het script met root-rechten gestart. Dat is voor HellaNZB niet nodig en zou een veiligheidsrisico kunnen zijn. Bovendien zou je die bridge misschien makkelijker op kunnen zetten via de netwerkmanager of /etc/network/interfaces
De rechten voor dit script staan op 777 dus daar lijkt mij het probleem ook niet te zitten. Heeft er iemand veel ervaring met cron instellingen en kan mij verder helpen, of een richting aangeven waar ik moet zoeken om het op te lossen. Bij voorbaat dank.
Dat betekent dat iedere gebruiker op jouw systeem dat script aan zou kunnen passen en dat het bij het opstarten wordt uitgevoerd. Dat is een enorm beveiligingsgat.
Wat je evt. zou kunnen proberen: verwijder dit script uit de crontab en zet het in /etc/rc.local
Dat bestand wordt aan het eind van de opstartprocedure uitgevoerd.
Een mogelijke oorzaak voor het niet willen lopen van het script is dat je "echo" gebruikt en ook de uitvoer van Hellanzb niet afvangt. Scripts die via cron lopen hebben geen terminal om die berichten weer te geven en zouden daarop kunnen hangen.
Je moet je script dan aanpassen zodat de output afgevangen wordt. Dit kan bijvoorbeeld zo:
hellanzb.py -D >/dev/null 2>&1
Verder moet je in cron altijd het volledige pad naar een bestand opgeven.
Dus /usr/bin/hellanzb.py en /usr/bin/ifup bijvoorbeeld. Ik heb geen idee of die paden kloppen en kan het momenteel niet makkelijk controleren. Je kan zelf bepalen welk pad het is via het "which" commando.
Dus "which ifup" geeft het volledige pad dat je moet gebruiken.