Avatar billede amoelle Nybegynder
11. juni 2004 - 15:36 Der er 3 kommentarer og
1 løsning

at oprette et cronjob ?

Jeg skal afvikle et sqlscript fra en Solaris maskine mod en oracle database.
Jeg har lavet et shellscript EPJstep1.sh, der ser således ud:

#
# Connect to TEST database and perform step 1
sqlplus akm/akm@<database> @/export/oracle/sql/EPJconvert_1.sql
# logfile is EPJconvert_1.lst
#

så logger jeg på solaris maskinen som root og stiller mig i kataloget /export/oracle/sql
herefter skriver jeg

# crontab 'EPJstep1.sh'
og får svaret

sqlplus akm/akm@<database> @/export/oracle/sql/EPJconvert_1.sql
crontab: error on previous line; unexpected character found in line.
crontab: errors detected in input, no crontab file generated.
#

Hvad mener I om det ?
SQL Filen eksisterer, og det er jo ikke det mest indviklede shellscript, der er set....

Derudover kan man fint starte sqlplus med kommandoen
sqlplus akm/akm@<database>

Så hvad er det for nogle uventede karakterer ?....
på forhånd tak
Avatar billede skau Nybegynder
14. juni 2004 - 14:33 #1
Der er en bestemt syntax der skal overholdes - det nemmeste er at editere din crontab fil (ikke dit script men den fil crontab bruger til at vide hvad der skal køres hvornår).

Syntaxen er :

AA BB CC DD EE <SCRIPTNAVN>

Hvor
AA = minuttal
BB = timetal
CC = månedsdag
DD = Måned
EE = ugedag (0 - 6 hvor 0 er søndag)

Man kan benytte wildcards, eks 01 12 * * * betyder 1 minut over 12 hver dag.


benyt flg kommandoer
crontab -l for at liste indholdet af crontab conf fil.
crontab -e for at editere indholdet af crontab med den editor du har sat i din EXPORT variabel

Håber det var uddybende nok - btw her er et eksempel hvor dit script køres hver fread klokken 10:01

01 10 * * 5 /export/oracle/sql/EPJstep1.sh
Avatar billede skau Nybegynder
14. juni 2004 - 14:34 #2
EXPORT skulle have været EDITOR varial - sæt den således:

EDITOR=vi
export EDITOR

eller export EDITOR=vi hvis du kører ksh eller bash
Avatar billede amoelle Nybegynder
14. juni 2004 - 14:47 #3
Tak for hjælpen

Det skal kun køre een gang, så jeg sætter det til
01 10 16 6 * /export/oracle/sql/EPJstep1.sh
1 minut over 10 på den 16/6.
Når jobbet så er færdigt ( det tager 4-5 dage) så kan jeg vel bare slette det i crontab igen ?
(Jeg går udfra at det først må slettes, når jobbet er helt færdigt)
Avatar billede skau Nybegynder
14. juni 2004 - 14:48 #4
Lige præsis - husk at slette jobbet da det ellers kører igen om et år ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester