Gå til innhold

Bruk av crontab


Anbefalte innlegg

Skrevet

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! :)

Videoannonse
Annonse
Skrevet (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? :hmm:

 

Er nokså ny på Linux så jeg kan ikke all verden, det er godt mulig at jeg er helt på jorde.

Endret av Fenalår
Skrevet (endret)

Må jeg henvise til mappen der hvor det skal kjøres på en eller annen måte?

 

Mappen er /root/hlds/hlds

Endret av Fenalår
Skrevet (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 av Fenalår
Skrevet

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...

Skrevet

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

Skrevet (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 av RattleBattle
Skrevet

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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...