silfverMedlem sedan apr. 200312 679 inlägg Jag försöker få igång ett cronjob som ska uppdatera en php-fil var femte minut på mitt skal. Men jag lyckas inte... Kan någon hjälpa mig?
Det här är koden jag vill "installera":
*/5 * * * * /usr/bin/lynx --source http://.../get_mail.php >/dev/null 2>&1
Jag loggar in på mitt skal, skriver crontab -e, kopierar in koden, skriver :wp och så står det att den installerat, eller nåt, men det fungerar inte.
Hur ska jag göra? Vad kan vara fel? Url:en är felskriven med flit. Uppskattar verkligen all hjälp jag kan få!
RoggerMedlem sedan jan. 2000566 inlägg Vad får du för resultat i loggen? Prova med
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
*/5 ska iofs fungera. Det är inte så att /etc/cron.allow respektive /etc/cron.deny råkar finnas i ditt system.
Förresten. Borde inte "wget" göra jobbet bättre än "lynx"? :q
GeinMedlem sedan sep. 20005 700 inlägg Borde inte php göra jobbet bättre än både wget och lynx? ;)
Istället för att för att skicka output till /dev/null skriv det till en fil istället och sen läser du av filen för att eventuellt få någon information.
silfverMedlem sedan apr. 200312 679 inlägg
Rogger skrev:
Vad får du för resultat i loggen? Prova med
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
*/5 ska iofs fungera. Det är inte så att /etc/cron.allow respektive /etc/cron.deny råkar finnas i ditt system.
Förresten. Borde inte "wget" göra jobbet bättre än "lynx"? :q
Det är inte jag som har skrivit koden, så jag har ingen aning om vad som är rätt eller fel.
Menar du att jag ska pröva skriva så här i stället:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/lynx --source http://.../get_mail.php >/dev/null 2>&1
Eller?
Jag vill ju egentligen bara uppdatera en fil var femte minut, så har någon en bättre lösning på hur jag ska göra det i skalet så tas de emot med öppna armar! :)
silfverMedlem sedan apr. 200312 679 inlägg
Gein skrev:
Borde inte php göra jobbet bättre än både wget och lynx? ;)
Istället för att för att skicka output till /dev/null skriv det till en fil istället och sen läser du av filen för att eventuellt få någon information.
Låter krångligt... alltså. Jag måste besöka den här filen för att den ska fixa mailen. Går inte lösa med php...
Uhm... hm. :p
GeinMedlem sedan sep. 20005 700 inlägg Förlåt, jag läste lite snabbt. Inser nu att skriptet inte ligger på samma server. Hur som helst så kan du väl låta den skriva output till en fil istället?
silfverMedlem sedan apr. 200312 679 inlägg
Gein skrev:
Förlåt, jag läste lite snabbt. Inser nu att skriptet inte ligger på samma server. Hur som helst så kan du väl låta den skriva output till en fil istället?
Jag är inte riktigt med på vad du menar...
Jag vet inte riktigt hur den här mail-filen fungerar, men jag måste "besöka" den för att mailet ska postas på min hemsida. För att filen ska ta emot mail.
Kan du förklara närmre hur du menar med att skriva infon till en fil?
Och du Rogger, hur skulle en wget-sträng se ut?
GeinMedlem sedan sep. 20005 700 inlägg
*/5 * * * * /usr/bin/lynx --source http://.../get_mail.php >/sökväg/till/din/katalog/debug_output
Sedan kan du titta i filen debug_output för att se eventuell information som spottas ut när du försöker köra cronjobbet. Detta alltså för felsökning. Prova också kör jobbet manuellt direkt i skalet för att se vad som händer:
/usr/bin/lynx --source http://.../get_mail.php
.
För att köra med wget istället så skriver du
/usr/bin/wget http://.../get_mail.php
Förutsatt att wget ligger i /usr/bin/.
GeinMedlem sedan sep. 20005 700 inlägg wget kommer spara svaret på http-förfrågan som fil på datorn men du kan undvika det med -O-flaggan.
/usr/bin/wget -O /dev/null http://.../get_mail.php &>/dev/null
silfverMedlem sedan apr. 200312 679 inlägg Borde detta fungera då?
*/5 * * * * /usr/bin/wget -O /dev/null [url]http://.../get_mail.php[/url] &>/dev/null
GeinMedlem sedan sep. 20005 700 inlägg
silfver skrev:
Borde detta fungera då?
*/5 * * * * /usr/bin/wget -O /dev/null [url]http://.../get_mail.php[/url] &>/dev/null
Förutsatt att wget finns installerat och ligger under /usr/bin/, ja.
silfverMedlem sedan apr. 200312 679 inlägg Okay. Nu har jag fått lite mer hjälp av en kille som har konto på samma webhotell, han skriver så här:
wget ligger under /usr/local/bin/wget. Men du måste även sätta http_proxy, så skapa en fil på shellkontot som heter tex get_mail.sh:
#!/bin/sh
export http_proxy=http://194.236.124.52:82/
/usr/local/bin/wget -O /dev/null http://.../get_mail.php &>/dev/null
Sätt exec rättigheter på filen med: chmod a+x get_mail.sh
Sedan cron:
*/5 * * * * /home/din user/get_mail.sh
Hur skapar jag den här filen på skalet? Och hur går jag sedan till mappen där jag kan ge den skrivrättigheter? :)
Jag glömmer alltid bort vad programmet heter som jag kan ladda upp filer till skalet med...
silfverMedlem sedan apr. 200312 679 inlägg Kom på namnet. WinSCP heter programmet som hjälper mig ladda upp filer på skalet. Med hjälp av Gein och en annan person har jag nu fått det att fungera. Jag tror jag faller i tårar snart, det här är helt underbart! ÄNTLIGEN! :bire (y)
GeinMedlem sedan sep. 20005 700 inlägg Hehe, kul att det löste sig! :)
silfverMedlem sedan apr. 200312 679 inlägg Jag har precis bytt webbhotell och behöver återigen installera ett cron job. Hoppas det går smidigare än förra gången...
Den här gången kan jag göra det genom en kontrollpanel (se bifogad bild). Kan någon hjälpa mig? Hur ska jag skriva för att få Geins kod att fungera likadant på nya hotellet?
Jag vill ju egentligen bara köra en fil (get_mail.php) som uppdaterar en inbox.
Tacksam för hjälp. :)
GeinMedlem sedan sep. 20005 700 inlägg Välkommen till Aleborg (eller? ;))
I fältet för Kommando så skriver du in:
/usr/local/bin/wget -O /dev/null http://.../get_mail.php &>/dev/null
För minuter skriver du in */5
silfverMedlem sedan apr. 200312 679 inlägg
Gein skrev:
Välkommen till Aleborg (eller? ;))
I fältet för Kommando så skriver du in:
/usr/local/bin/wget -O /dev/null http://.../get_mail.php &>/dev/null
För minuter skriver du in */5
Klart det blev Aleborg. :)
Så här ser det ut nu, ser det korrekt ut?
GeinMedlem sedan sep. 20005 700 inlägg Ja, alltså jag förutsätter att du ersätter http://.../get_mail.php med korrekt URL först!
Eller ligger get_mail-skriptet på ditt konto hos Aleborg?
silfverMedlem sedan apr. 200312 679 inlägg
Gein skrev:
Ja, alltså jag förutsätter att du ersätter http://.../get_mail.php med korrekt URL först!
Eller ligger get_mail-skriptet på ditt konto hos Aleborg?
Ja, så klart. :) Och ja, mailscriptet ligger på kontot på Aleborg.
Just nu så får jag ett felmeddelande som ser ut så här:
--03:50:00-- http://.../get_mail.php
=> `/dev/null'
Resolving https://www.silfver.se... 193.27.201.10
Connecting to www.silfver.se|193.27.201.10|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
03:50:01 ERROR 404: Not Found.
Har fått 165 stycken sen i går kväll. :)
silfverMedlem sedan apr. 200312 679 inlägg Ber om ursäkt, men jag kanske hade lite bråttom innan jag postade förra inlägget. Nu fick jag ett mail där det står:
-10:55:00-- http://.../get_mail.php
=> `/dev/null'
Resolving https://www.silfver.se... 193.27.201.10
Connecting to www.silfver.se|193.27.201.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
0K 15.40 MB/s
10:55:02 (15.40 MB/s) - `/dev/null' saved [113]
Det verkar ju helt ok då, eller? Men ska man behöva få ett mail var femte minut som säger att allt är ok? Känns väldigt onödigt. :l