25. februar 2003 - 15:42
Der er
38 kommentarer og 1 løsning
Crontab
Hej Jeg har et mindre problem, som er ved at gå mig MEGET på nerverne, så jeg håber der er nogle der kan hjælpe. Det er på HP-UNIX 11.11 og 11.20. Når jeg i et shell script, hvor en text fil skal appendes til en anden, f.eks; textfil1.log >> textfil2.log Sker der ingen ting, laver jeg en; textfil1.log > textfil2.log Kan jeg se at filen er blevet "ændret" men du uden at der er sket noget, køre jeg scriptet fra shellen virker det fint, nogle idéer ?? Mvh Nicholas
Annonceindlæg fra Partnertekst
25. februar 2003 - 15:56
#1
lad mig se din crontab
25. februar 2003 - 20:29
#2
Øhhh, jeg går ud fra at du skriver 'cat' foran? cat textfil1.log >> textfil2.log
25. februar 2003 - 20:30
#3
det hjælper at man er aktivt med i sine spm hvis man vil have hjælp.
25. februar 2003 - 20:35
#4
bollox: ja det er der. loadet; Jeg skal nok skrive det, men jeg er ikke på arbejde igen før i morgen, derfor har jeg ikke skrevet det. Men det er mere ellere mindre; cat textfil1.log >> textfil2.log
25. februar 2003 - 20:42
#5
ok ... har du prøvet med et script der gør det samme .. bla.sh #!/bin/sh cat textfil1.log >> textfil2.log
26. februar 2003 - 09:11
#6
Crontab entryen ser sådan her ud; * * * * * /home/omc/scripts/NIC/cgw/stat_mail.sh > /home/omc/scripts/NIC/cgw/stat_mail.log Det som jeg ikke få til at virke i scriptet; cat /home/omc/scripts/NIC/cgw/pending_information_abcgw01.txt > final_stat.txt cat /home/omc/scripts/NIC/cgw/pending_information_abcgw02.txt >> final_stat.txt Mvh Nicholas
26. februar 2003 - 09:58
#7
ups.... jeg var faktisk lidt galt på den, for nu har jeg fået det til at virke, det var en env fejl lidt tidligere i scriptet, men et andet problem af samme type, kan jeg ikke slippe helt af med, denne her; /opt/cg/2.0/bin/collectorcli -e queryKPI >> /opt/cg/NIC/pending_information_abcgw01.txt Af underlige årsager så kommer der intet i text filen, men køre jeg scriptet i hånden går det fint?!?!
26. februar 2003 - 12:44
#8
Prøv at skrive umask ud for at se om der kunne være forskel mellem det manuelle script og cron jobbet.
26. februar 2003 - 13:17
#9
umask?!?! det er jo bare rettigheder på nye filer?!? de er alle som de skal være, men den er sat til 022
26. februar 2003 - 13:25
#10
Det er ikke noget med at collectorcli udskrives til stderr og ikke stdout og >> derfor ikke får fat i det? Eller har du omdiregeret alt output til stdout?
26. februar 2003 - 13:28
#11
Det har jeg faktisk ikke "leget" så meget med, for når jeg bruger kommandoen normalt er stdout jo skærmen, stderr har jeg ikke brug for. Nu kan det godt være at det er mig der ikke helt kan huske det mere, men når man laver en > er det så ikke stdout man ændre?
26. februar 2003 - 14:04
#12
jo, netop. men både stdout og stderr sendes til consolen når du køre det manuelt men stderr rediregeres ikke (på de system jeg kender) med > eller >> der skulle man lave enten en rediregring af stdout eller lave en krusedulle for at få stderr med, men der er meget lang tid siden jeg rode med dette så der er ikke sikkert der er aktuelt længere, jeg mener at kunne huske man skulle gøre noget med progx 2> textfil. for at omdiregere stderr (2) til stdout (1).
26. februar 2003 - 14:09
#13
Weeee der fik jeg faktisk lidt ud af det, for når jeg flytter stderr får jeg denne fejl: /usr/lib/dld.sl: Can't open shared library: /home1/beadev/WLE51rp/bld/lib/libgp.sl /usr/lib/dld.sl: No such file or directory Har dog INGEN ide hvad jeg skal gøre ved den... Jeg er godt klar over at 2> er stderr, men hvad er 2>&1 så??
26. februar 2003 - 14:13
#14
2>&1 piper output fra stderr over i samme som stdout. det ser ud som om du har problemer med dit enviroment når du kører cron-jobbet.
26. februar 2003 - 14:15
#15
det er nok noget rettighedsfnidder med: /home1/beadev/WLE51rp/bld/lib/libgp.sl
26. februar 2003 - 14:15
#16
Så langt er jeg også kommet, men jeg har lavet denne ; /usr/lib/builtins/source /opt/cg/.cshrc Den skulle jo gerne indlæse alle mine enviroment's
26. februar 2003 - 14:17
#17
jeg tror ikke den bliver kørt når det kører i crontab - evt skal du sætte det ind først (/usr/lib/builtins/source /opt/cg/.cshrc; /opt/cg/2.0/bin/collectorcli -e queryKPI >> /opt/cg/NIC/pending_information_abcgw01.txt 2>>&1)
26. februar 2003 - 14:18
#18
Det er faktisk lidt underlig, for /home1/beadev/WLE51rp/bld/lib/libgp.sl er slet ikke der, den er her; /opt/cg/wlepatch/lib/libgp.sl /opt/wle/lib/libgp.sl
26. februar 2003 - 14:21
#19
(/usr/lib/builtins/source /opt/cg/.cshrc; /opt/cg/2.0/bin/collectorcli -e queryKPI >> /opt/cg/NIC/pending_information_abcgw01.txt 2>>&1) Var ellers et godt bud, men det virkede desværre.
26. februar 2003 - 14:22
#20
UPS.... "Var ellers et godt bud, men det virkede desværre" manglede lige et ikke :-); "Var ellers et godt bud, men det virkede desværre ikke"
26. februar 2003 - 14:24
#21
aha - ja det ændrer jo unægteligt lidt på det. jeg tror at problemet er at du ikke får det udført i en csh men blot en standard shell.
26. februar 2003 - 14:25
#22
faktisk køre den i ksh, som min shell også er #!/bin/ksh
26. februar 2003 - 14:25
#23
prøv evt at smide en printenv >> /tmp/envout 2>&1 i crontabben så kan du se hvilken shell du kører.
26. februar 2003 - 14:26
#24
ok - jeg så bare at det var .cshrc så derfor gik jeg ud fra det var csh ...
26. februar 2003 - 14:27
#25
nu kunne jeg se at det var noget Weblogic - det er ikke et javaprogram du forsøger at eksekvere ?
26. februar 2003 - 14:29
#26
ellers prøv i dit shellscript at sætte: LD_PRELOAD=/opt/wle/lib/libgp.sl export LD_PRELOAD
26. februar 2003 - 14:29
#27
Det ved jeg faktisk ikke, men laver jeg en file på den, får jeg dette svar abcgw01:/opt/cg/NIC#file /opt/cg/2.0/bin/collectorcli /opt/cg/2.0/bin/collectorcli: PA-RISC2.0 shared executable dynamically linked -not stripped Hvis det er noget du bliver klogere af :-)
26. februar 2003 - 14:30
#28
eller: LD_LIBRARY_PATH =/opt/wle/lib/libgp.sl export LD_LIBRARY_PATH
26. februar 2003 - 14:31
#29
ja ok - det er et oversat program prøv lige at lave en ldd /opt/cg/2.0/bin/collectorcli
26. februar 2003 - 14:32
#30
Den kommer så her: abcgw01:/opt/cg/NIC#ldd /opt/cg/2.0/bin/collectorcli /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libcl.2 => /usr/lib/libcl.2 /usr/lib/libisamstub.1 => /usr/lib/libisamstub.1 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libm.2 => /usr/lib/libm.2 /usr/lib/libCsup.2 => /usr/lib/libCsup.2 /usr/lib/libstream.2 => /usr/lib/libstream.2 /usr/lib/libstd.2 => /usr/lib/libstd.2 /opt/oracle/product/8.1.7/lib/libclntsh.sl.8.0 => /opt/oracle/product/8.1.7/lib/libclntsh.sl.8.0 /usr/lib/libcl.2 => /usr/lib/libcl.2 /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libm.2 => /usr/lib/libm.2 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libnss_dns.1 => /usr/lib/libnss_dns.1 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libnsl.1 => /usr/lib/libnsl.1 /usr/lib/libxti.2 => /usr/lib/libxti.2 /usr/lib/libpthread.1 => /usr/lib/libpthread.1 /usr/lib/librt.2 => /usr/lib/librt.2 /opt/oracle/product/8.1.7/lib/libwtc8.sl => /opt/oracle/product/8.1.7/lib/libwtc8.sl /usr/lib/libc.2 => /usr/lib/libc.2 /opt/wle/lib/libgp.sl => /opt/wle/lib/libgp.sl /usr/lib/libnsl.1 => /usr/lib/libnsl.1 /opt/wle/lib/libnative.sl => /opt/wle/lib/libnative.sl /home1/beadev/WLE51rp/bld/lib/libgp.sl => /opt/wle/lib/libgp.sl /home1/beadev/WLE51rp/bld/lib/libqm.sl => /opt/wle/lib/libqm.sl /home1/beadev/WLE51rp/bld/lib/libtmib.sl => /opt/wle/lib/libtmib.sl /home1/beadev/WLE51rp/bld/lib/libbuft.sl => /opt/wle/lib/libbuft.sl /home1/beadev/WLE51rp/bld/lib/libtux2.sl => /opt/wle/lib/libtux2.sl /home1/beadev/WLE51rp/bld/lib/libtux.sl => /opt/wle/lib/libtux.sl /home1/beadev/WLE51rp/bld/lib/libfml.sl => /opt/wle/lib/libfml.sl /home1/beadev/WLE51rp/bld/lib/libfml32.sl => /opt/wle/lib/libfml32.sl /home1/beadev/WLE51rp/bld/lib/libicbgp.sl => /opt/wle/lib/libicbgp.sl /home1/beadev/WLE51rp/bld/lib/libgp.sl => /opt/wle/lib/libgp.sl /home1/beadev/WLE51rp/bld/lib/libpif.sl => /opt/wle/lib/libpif.sl /home1/beadev/WLE51rp/bld/lib/libengsec.sl => /opt/wle/lib/libengsec.sl /home1/beadev/WLE51rp/bld/lib/liborbpoa.sl => /opt/wle/lib/liborbpoa.sl /usr/lib/libc.2 => /usr/lib/libc.2 /home1/beadev/WLE51rp/bld/orb//bld//liborb.sl => /opt/wle/lib/liborb.sl /usr/lib/libc.2 => /usr/lib/libc.2 /home1/beadev/WLE51rp/bld/orb//bld//liborbutl.sl => /opt/wle/lib/liborbutl.sl /home1/beadev/WLE51rp/bld/lib//libgp.sl => /opt/wle/lib/libgp.sl /home1/beadev/WLE51rp/bld/lib/liborb.sl => /opt/wle/lib/liborb.sl ../../libomg/libomg.sl => /opt/wle/lib/libomg.sl /home1/beadev/WLE51rp/bld/lib/liborb.sl => /opt/wle/lib/liborb.sl ../../libenv/libenv.sl => /opt/wle/lib/libenv.sl /home1/beadev/WLE51rp/bld/lib/libicbgp.sl => /opt/wle/lib/libicbgp.sl /home1/beadev/WLE51rp/bld/lib/liborb.sl => /opt/wle/lib/liborb.sl /home1/beadev/WLE51rp/bld/lib/libomg.sl => /opt/wle/lib/libomg.sl /opt/wle/lib/libenv.sl => /opt/wle/lib/libenv.sl /opt/wle/lib/libicbgp.sl => /opt/wle/lib/libicbgp.sl /opt/wle/lib/liborbutl.sl => /opt/wle/lib/liborbutl.sl /opt/wle/lib/liborb.sl => /opt/wle/lib/liborb.sl /opt/wle/lib/libomg.sl => /opt/wle/lib/libomg.sl
26. februar 2003 - 14:37
#31
ok - det var en hulens masse biblioteker den refererer til. Mit gæt er at det skal sættes om så den kører det korrekt; nu bliver jeg lidt mere spekulativ; prøv i crontab: su <dit login> -c "/opt/cg/2.0/bin/collectorcli -e queryKPI >> /opt/cg/NIC/pending_information_abcgw01.txt 2>>&1"
26. februar 2003 - 14:38
#32
husk også at alle meddelser som ikke bliver omdirigeret i crontab bliver mailet til root
26. februar 2003 - 14:39
#33
su <dit login> -c "/opt/cg/2.0/bin/collectorcli -e queryKPI >> /opt/cg/NIC/pending_information_abcgw01.txt 2>>&1" > /tmp/out 2> /tmp/err så kan vi se om der går noget galt.
26. februar 2003 - 14:45
#34
nope ingen held her, det var ellers en OK ide. men jeg kan se at den smider et core dump hver gang; abcgw01:/opt/cg#file core core: core file from 'collectorcli' - received SIGABRT
26. februar 2003 - 15:05
#35
Weeeee jeg har selv løst den nu, jeg fandt en .sh fil med alle enviroment, dem impoterede jeg så; . /opt/cg/2.0/bin/setenv.sh Men jeg vil faktisk gerne have en forklaring på hvorfor det er at der skal være mellemrum efter "." for at det virker, jeg har bare fået at vide at det skal der, men det var jo ikke en særlig god forklaring... PS: vil du have svar points for denne kan du bare svare på dette, så skal jeg nok godkende :-)
26. februar 2003 - 15:17
#36
så vidt jeg husker er . og source er det samme (prøv evt at se man source). af ren nysgerrighed ville jeg så gerne høre hvor I bruger hp-ux henne (det eneste andet sted jeg kender det fra er datalogisk insitut :-) ).
26. februar 2003 - 15:21
#37
Det er hos Sonofon, Nokia lever alt med HP platforme.
26. februar 2003 - 15:22
#38
hov, glemte da at sige tak for hjælpen :-) så.... tak for hjælpen :-)
26. februar 2003 - 15:22
#39
ok ... :-)
Kurser inden for grundlæggende programmering