Crontab doet vreemd..

Pagina: 1
Acties:

  • Boboga
  • Registratie: Oktober 2001
  • Niet online

Boboga

Kiekeboe

Topicstarter
Ik heb het idee (als bijna helemaal linux noob) dat me crontab vreemd doet..
Ik geef namelijk het complete pad op naar het bestand dat uitgevoerd moet worden en dan geeft hij een error van no such file or directory?
bijv:
#NcftpPut
*/10 * * * * /mnt/router/packages/ncftp/ncftpput -u user -p pass home.quic
knet.nl stats /mnt/router/www/stats.html
resulteert in dit:
Cannot open local file for reading: No such file or directory.
ncftpput : could not open file.
iemand enig idee? :? (draait op freesco bak trouwens dus geen manpages..)

  • Fatal-Error
  • Registratie: Juli 2001
  • Niet online
edit:
laat maar, mijn reactie klopte voor geen meter

Welcome to the desert of the real.


  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 13-05 06:29
"Cannot open local file for reading"

Dan zal hij waarschijnlijk een locaal bestand niet kunnen openen om te lezen :+ (zal dus wel stats.html zijn)

en wat betreft de man pages: http://unixhelp.ed.ac.uk/CGI/man-cgi (typ daar maar ncftpput in)

  • Boboga
  • Registratie: Oktober 2001
  • Niet online

Boboga

Kiekeboe

Topicstarter
is niet alleen met ncftpput maar ook met andere dingen rrdtool enzow.. heel vreemd

  • Broer
  • Registratie: Januari 2002
  • Laatst online: 19-12-2025
heeft misschien toch met rechten te maken:
code:
1
2
3
4
$ ls -l prutje
-rw-------  1 broer  staff  50 Nov  1 16:18 prutje
$ id
uid=508(broer) gid=20(staff) groups=20(staff), 0(wheel)


dus ik (broer) heb leesrechten op mijn filetje, maar de cronjob zegt dit:
code:
1
ncftpput /usr/home/broer/prutje: server said: prutje: Permission denied.


edit:

Het gaat vanaf de command-line trouwens net zo mis.

Unix gaat blijkbaar niet zo netjes met de rechten om.

ik gebruik trouwens freeBSD, maar is ook Unix. Toch... ;)

  • majornono
  • Registratie: Juni 2002
  • Laatst online: 04-04 23:16
ncftpput kan de file home.quic niet vinden. Zet ook daar het hele pad voor

Problem Exists Between Chair And Keyboard


  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
inderdaad. Hoe weet cron nou waar je file staat?

Gouden regel bij dit soort dingen (in alle scripts eigenlijk):

Zet voor alles wat je gebruikt (executables, scripts, files enz.) het complete pad neer, Wat in je login shell de PATH is hoeft dat nog lang niet in subshells te zijn of elders.

Everyone complains of his memory, no one of his judgement.


  • Broer
  • Registratie: Januari 2002
  • Laatst online: 19-12-2025
home.quicknet.nl is de hostname. stats is de filename op de host, /mnt/router/www/stats.html is de filename lokaal. Dat is de goede syntax voor ncftpput, dus dat doet Boboga goed.

Maar de foutmelding is inderdaad "no such file or directory"
Probeer eerst eens het commando van de command-line, geeft hij daar dezelfde fout, dan ligt het niet aan cron.

  • Boboga
  • Registratie: Oktober 2001
  • Niet online

Boboga

Kiekeboe

Topicstarter
Als ik het van de commandline doe gaat ie gewoon goed das het vreemdste :( maarja ik wacht wel op de nieuwe package voor 0.3.0 :)

  • arikkert
  • Registratie: Juli 2002
  • Laatst online: 17-02 12:23
Boboga schreef op 04 november 2002 @ 19:04:
Als ik het van de commandline doe gaat ie gewoon goed das het vreemdste
Misschien worden in je login sessie enkele variabelen gezet die je nodig hebt.
Bijv $HOME/.login of $HOME/.profile $HOME/.tcshrc en dat soort dingen, afh van je loginshell.
Als je nu een script maakt die die files erin sourced, daarna de chdir naar de directory waarin jij weet dat het werkt op command line
en vervolgens je commando uitvoert.
Dat script via cron schedulen

  • Boboga
  • Registratie: Oktober 2001
  • Niet online

Boboga

Kiekeboe

Topicstarter
arikkert schreef op 04 november 2002 @ 21:26:
[...]


Misschien worden in je login sessie enkele variabelen gezet die je nodig hebt.
Bijv $HOME/.login of $HOME/.profile $HOME/.tcshrc en dat soort dingen, afh van je loginshell.
Als je nu een script maakt die die files erin sourced, daarna de chdir naar de directory waarin jij weet dat het werkt op command line
en vervolgens je commando uitvoert.
Dat script via cron schedulen
ennu in begrijpbaar linux noob taal? :)

Verwijderd

.login .profile en waarschijnlijk ook .tcshrc
zijn files waarin je omgeving bepaald word.
dat zijn dingen als
1 hoe ziet je prompt er uit.
2 gebruik je kleurtjes en wat voor kleurtjes
3 welke "paths" staan er in je $PATH ( /bin /usr/bin /usr/local/bin etc. etc. ) (bin staat voor binaire (aka executable))
naja etc. etc. etc.

en wat arikkert bedoelt met files sourcen wil ik ook wel weten.
maar ik zou gewoon zeggen zet dit in je script
/home/naam/.login;/home/naam/.profile
het kan ook zijn dat deze info in de profile in de etc dir staat
dan weet ik het niet dan kun je het beste nog gewoon zelf de dingen eruit plukken waarschijnlijk
maar ben nu te moe om daar over te denken.
maar je doet het iig met
export PATH=$PATH;/home/baardaap/projecten/schaapjestellen-programma/bin

/me types schaapjestellen-programma &
:Z

  • DiNo!
  • Registratie: Juni 2000
  • Laatst online: 17-05 18:11
Probeer er eens een shell scriptje van de maken:
code:
1
*/10 * * * * /home/pietje/ncftpscripje
met dit erin:
code:
1
2
3
#!/bin/bash
/mnt/router/packages/ncftp/ncftpput -u user -p pass home.quic
knet.nl stats /mnt/router/www/stats.html
8)

https://github.com/atoomnetmarc/


  • arikkert
  • Registratie: Juli 2002
  • Laatst online: 17-02 12:23
Verwijderd schreef op 05 november 2002 @ 00:37:

en wat arikkert bedoelt met files sourcen wil ik ook wel weten.
in Bourne shell (sh), bash enzo kun je sourcen met
. $HOME/.profile
in C-shell (csh), tcsh enzo kun je sourcen met
source $HOME/.login
Als je startscripts deze niet "sourced" maar gewoon uitvoert, dan zijn de in het script gezette variabelen weg zodra het script exit. En je wilt juist dat die varabelen gezet zijn.
Want dat is een verschil met een script "via cron schedulen" en gewoon inloggen en een script uitvoeren.
zie:
man cron
man sh | grep source
man tcsh | grep source
man env

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

dat kan ook gewoon met een punt..
als je wat in je .profile veranderd kan je dat ook opnieuw inlezen met:

. .profile
(dus dot space dot profile)
Pagina: 1