Fenalår Skrevet 12. november 2006 Del Skrevet 12. november 2006 Hei! Jeg har en server som kjører noen prosesser, men jeg ønsker at prosessen jeg kjører skal restartes hver dag kl. 9.00. screen -A -m -d -S hlds1 ./hlds_run -game cstrike +map de_dust2 +maxplayers 13 +ip 0.0.0.0 +exec server.cfg -autoupdate I dag benytter jeg denne kommandoen for å starte prosessen, men hvordan vil den se ut med crontab? Det er viktig at den beholder screene. Takker for svar! Lenke til kommentar
RattleBattle Skrevet 12. november 2006 Del Skrevet 12. november 2006 0 9 * * * screen -A -m -d -S hlds1 ./hlds_run -game cstrike +map de_dust2 +maxplayers 13 +ip 0.0.0.0 +exec server.cfg -autoupdate http://www.adminschoice.com/docs/crontab.htm Lenke til kommentar
Fenalår Skrevet 12. november 2006 Forfatter Del Skrevet 12. november 2006 (endret) Får denne meldingen. -bash: 0: command not found Virker som den ikke skjønner helt hva den skal. Er det ingen kommando som henviser til at nå skal crontab tas i bruk? Er nokså ny på Linux så jeg kan ikke all verden, det er godt mulig at jeg er helt på jorde. Endret 12. november 2006 av Fenalår Lenke til kommentar
RattleBattle Skrevet 12. november 2006 Del Skrevet 12. november 2006 Du må skrive crontab -e i konsollet. Da limer du inn det jeg skrev. Hvis du skal gjøre dette som root, må du huske at du utfører crontab -e som root. I Ubuntu blir det slik: sudo crontab -e. Lenke til kommentar
Fenalår Skrevet 12. november 2006 Forfatter Del Skrevet 12. november 2006 (endret) Må jeg henvise til mappen der hvor det skal kjøres på en eller annen måte? Mappen er /root/hlds/hlds Endret 12. november 2006 av Fenalår Lenke til kommentar
RattleBattle Skrevet 12. november 2006 Del Skrevet 12. november 2006 Det må du nok. Lenke til kommentar
Fenalår Skrevet 12. november 2006 Forfatter Del Skrevet 12. november 2006 (endret) Det må jeg nok?? Hjelper å si hvordan kanskje? :S 0 9 * * * /root/hlds/hlds screen -A -m -d -S hlds1 ./hlds_run -game cstrike +map de_dust2 +maxplayers 13 +ip 0.0.0.0 +exec server.cfg -autoupdate Sånn? Endret 12. november 2006 av Fenalår Lenke til kommentar
comicz Skrevet 12. november 2006 Del Skrevet 12. november 2006 Jeg vil foreslå å lage et lite wrapperscript du kjører fra cron, cron er ikke alltid glad i lange kommandolinjer med mange parametre... Men du kan jo se om det går først om du vil. Uansett, det der holder vel muligens ikke... Den gamle prosessen drepes/restartes jo ikke, du bare spawner en ny... Lenke til kommentar
RattleBattle Skrevet 12. november 2006 Del Skrevet 12. november 2006 Som Comicz skriver, det er lurt å lage et script. I tilleg til det han nevner blir jo også crontab-fila litt ryddigere og mer oversiktlig. Eksempel på script for deg. Lag script-fila med f. eks. gedit: gedit /root/mittscript Legg inn kommando i script-fila: #! /bin/sh screen -A -m -d -S hlds1 ./hlds_run -game cstrike +map de_dust2 +maxplayers 13 +ip 0.0.0.0 +exec server.cfg -autoupdate Lagre og lukke, deretter i konsollet for å gjøre den kjørbar: chmod +x /root/mittscript crontab-filen din blir da: 0 9 * * * /root/mittscript Lenke til kommentar
RattleBattle Skrevet 12. november 2006 Del Skrevet 12. november 2006 (endret) Det må jeg nok?? Hjelper å si hvordan kanskje? :S 0 9 * * * /root/hlds/hlds screen -A -m -d -S hlds1 ./hlds_run -game cstrike +map de_dust2 +maxplayers 13 +ip 0.0.0.0 +exec server.cfg -autoupdate Sånn? 7267813[/snapback] For å svare på dette. Har du navigert deg til mappa kjører du, som det virker som du har skjønt, med kommandoen ./filsomskalkjøres. Dersom du ikke er i den mappa fila er i, bruker du hele filbanen med mapper og filer, f. eks: /opt/filsomskalkjøres. Siste måten å gjøre det på, kan brukes uansett hvor du er i filhierarkiet. Endret 12. november 2006 av RattleBattle Lenke til kommentar
Fenalår Skrevet 13. november 2006 Forfatter Del Skrevet 13. november 2006 Okei, nå skal jeg prøve her. Er det noe spessielt filformat denne "mittscript" filen skal lagres i? Lenke til kommentar
kommers Skrevet 13. november 2006 Del Skrevet 13. november 2006 Hvis du mener filnavn, så kan script-fila hete hva du vil. Innholdet skal formateres som "vanlig" tekst. Den første linja i script-eksempelet til RattleBattle kalles for Shebang, og forteller hvilket program som skal brukes for å kjøre scriptet. Siden dette scriptet er et shell-script (shebangen sier at det skal kjøres av /bin/sh , #! /bin/sh ), er det noen som liker å gi scriptfila navnendelsen .sh, f.eks. mittscript.sh. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå