Cron opent input file niet

Overzicht Reageren

Direct weten hoe jij ervoor staat in de arbeidsmarkt?
Marcel van Hemert

Marcel van Hemert

10/08/2012 11:42:08
Quote Anchor link
Wie kan mij helpen om een cronjob uit te laten voeren?
Ik heb Interspire Email Marketer aangeschaft en deze verstuurt dmv cronjobs de geplande mailingen.

Volens de software moet ik in de cronjob het volgende cron command plaatsen:
php -f /var/www/vhosts/wisa.nu/httpdocs/mail/admin/cron/cron.php

In Plesk 10.4.4 heb ik vervolgns voor de gebruiker "adm" en cronjob aangemaakt en laat deze uitvoeren. Helaas krijg ik nu in mijn mail de volgende melding:
Could not open input file: /var/www/vhosts/wisa.nu/httpdocs/mail/admin/cron/cron.php

Ik heb uitvoerig zitten zoeken in diverse fora, maar helaas lost het mijn probleem niet op.

Dingen die ik o.a. heb geprobeerd:
1. de bestandrechten gewijzigd. Momenteel heeft cron.php (777)
2. rechtreeks verwezen naar de pagina via: "php -f http://www.wisa.nu/mail/admin/cron/cron.php"; (ook andere varianten geprobeerd zoals www.wisa.nu etc...
Wanneer ik handmatig naar de betreffende php-pagina (http://www.wisa.nu/mail/admin/cron/cron.php) ga, dan kan ik zien dat de cronjob uitgevoerd is, maar het lukt helaas niet via de cronjob.

Wie kan mij helpen?
Gewijzigd op 10/08/2012 11:49:55 door Marcel van Hemert
 
PHP hulp

PHP hulp

20/06/2013 03:13:25
 
Ivo Breeden

Ivo Breeden

10/08/2012 11:50:22
Quote Anchor link
Dit kan alleen maar een rechten probleem zijn. Je hebt de file al de rechten 777 gegeven dus kan het alleen aan het pad liggen: één of meer van de directories in het pad zijn niet toegankelijk.
Je hebt gekozen om dit door de gebruiker "adm" uit te laten voeren. wat gebeurt er als je inlogt als "adm" en dan het commando start? (Dat is altijd de snelste manier om dit soort problemen te testen en op te lossen.)
 
- SanThe -

- SanThe -

10/08/2012 11:55:00
Quote Anchor link
Rechten 777 voor een php-bestandje is onzin. 644 is meer dan genoeg. Geef ook het path naar php aan. Dus iets als: /path/naar/php/php -f /path/naar/bestand/cron.php
 
Chris NVT
Redacteur

Chris NVT

10/08/2012 12:14:18
Quote Anchor link
Ik heb geen idee of je in de toekomst meer cronjobs gaat gebruiken, maar toch even een tip.

Je bestand staat al in de map cron, noem dan het bestand na wat hij doet. Bijvoorbeeld delete_db.php, dat maakt het in de toekomst wat overzichtelijker.
 
Marcel van Hemert

Marcel van Hemert

10/08/2012 12:35:18
Quote Anchor link
Iedereen bedankt voor de snelle reactie. Ivo, je hebt me op het goede spoor gezet. Het heeft inderdaad met de gebruiker te maken. Ik heb nu voor "root" gekozen en nu zie ik dat het bestand automatisch wordt uitgevoerd. Ook heb ik de rechten terug gezet naar 644.

Misschien is het beter wanneer het onder een andere gebruiker wordt uitgevoerd, maar ik moet nog even uitzoeken welke. Ik heb een user aangemaakt genaamd admin met als rol administrator, dus ik ging ervan uit dat "adm" de goede optie zou zijn. Niet dus.
Kan iemand mij wellicht zeggen welke ik moet kiezen uit deze lijst met opties?
adm
alias
apache
bin
daemon
dbus
distcache
ftp
games
gopher
halt
lp
mail
mailman
mailnull
mhandlers-user
mysql
named
news
nobody
nscd
ntp
operator
pcap
popuser
psaadm
psaftp
qmaild
qmaill
qmailp
qmailq
qmailr
qmails
root
rpc
shutdown
smmsp
sshd
sw-cp-server
sync
uucp
vcsa
webalizer
 
Chris NVT
Redacteur

Chris NVT

10/08/2012 12:37:55
Quote Anchor link
Volgens mij zou de apache rol moeten voldoen.
 
Marcel van Hemert

Marcel van Hemert

10/08/2012 12:44:51
Quote Anchor link
Ja, ook met de gebruiker Apache werkt de cron.
Ik zou zeggen opgelost.
Bedankt allemaal!!!
 
Ivo Breeden

Ivo Breeden

10/08/2012 12:49:19
Quote Anchor link
Bij voorkeur zou ik een nieuwe gebruiker maken zonder speciale rechten. Bijvoorbeeld "background". Alternatief zou je, omdat het om een database job gaat (toch?) de gebruiker "mysql" kunnen gebruiken.
Verder is de opmerking van SanThe terecht: als het eenmaal werkt moet je wel de rechten terugschroeven tot het minimum.

Toevoeging op 10/08/2012 12:50:26:

Sorry je was me te snel af. Mosterd na de maaltijd :-S
 
Chris NVT
Redacteur

Chris NVT

10/08/2012 13:05:25
Quote Anchor link
Ivo,

Ik denk dan 'mysql' niet zal werken, die heeft volgens mij geen rechten om bestanden te executen. Apache heeft minimaal read, write, modify en execute rechten op alle mappen en bestanden na zijn /www/

Dit is puur een Linux rechten systeem, en heeft te maken met rechten op mappen/bestanden. Niet of hij wel of geen query mag draaien, daar gebruik je gewoon je config file voor waar je $host, $user en $pass in staat voor je MySQL.
Gewijzigd op 10/08/2012 13:06:58 door Chris NVT
 
- SanThe -

- SanThe -

10/08/2012 13:05:32
Quote Anchor link
Als slechts één gebruiker het bestandje mag openen dan maak je die owner en geef je rechten 600.
 



Overzicht Reageren