Ahoy,
Van egy scriptem, ami tar segítségével mentést végez.1gb-os fállokat hoz létre, egy bizonyos könyvtárból.
A probléma az, hogy a scriptet shell-ből futtatva tökéletesen működik, de ha cron-ból hívom meg, akkor a létrehozott tar fájl, csak a könyvtárakat tartalmazza, a fájlokat nem.
- 906 megtekintés
Hozzászólások
Konkrétat nem tudok mondani, de általában a cron szkript ha nem működik, az azért van, mert a cronból indítva nem ugyanazokkal a környezeti változókkal indul, mint parancssorból.
Guglin erre keresve: crontab environment
Az egyik találat ez:
http://blog.spikesource.com/crontab.htm
Itt kb elmagyarázza, hogy miről van szó, meg megoldási javaslatot is ad. Amúgy én is épp hasonlóval szívok, ha megoldottam beposztolom.
- A hozzászóláshoz be kell jelentkezni
oregon:~$ cat /etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# Perc(0-59) Óra(0-23) Nap(1-31) Hónap(1-12) Hétnapjai(0-6) Felhasznó Alkalmazás
- A hozzászóláshoz be kell jelentkezni
Anno szenvedtem hasonlók miatt, de csak egy gépen jött elő. Szigszalagos megoldásként az lett, hogy:
su - -c "/ahol_a_script_van/script"
- A hozzászóláshoz be kell jelentkezni
Hello!
crontabból szeretném futtatni az alábbi parancsot:
/usr/bin/mysqldump -u root --password=jelszo --databases egyik masik harmadik > /var/mysqldump/mysqldump`/bin/date +%G%m%d`
Ez parancssorból szépen megy, de crontabból futtatva az alábbi hibaüzenetet írja a mail-be:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Mi lehet a probléma?
Petya
- A hozzászóláshoz be kell jelentkezni
1. fogalmam sincs
2. Gyanúm, hogy parancssorban más shellt használsz, vagy más az environment és ő máshogy értelmezi az eszképelést ezért. A su - -os javaslatot ami kettővel fentebb van próbáltad?
- A hozzászóláshoz be kell jelentkezni
szúrd be a scripted elejére ezt: #!/bin/bash
mennie kell...
--
by Mikul@s
- A hozzászóláshoz be kell jelentkezni
És ugye vannak még azok is akik elfelejtenek egy entert ütni a crontab-ban az utolsó sor végére.
- A hozzászóláshoz be kell jelentkezni
RTFM.
Rendes oprendszeren szerepel a dokumentációban, hogy a cron a crontab fájlban a % jelet speciálisan értelmezi.
FreeBSD> man 5 crontab
The entire command portion of the line, up to a newline or % char-
acter, will be executed by /bin/sh or by the shell specified in the SHELL
variable of the cronfile. Percent-signs (%) in the command, unless
escaped with backslash (\), will be changed into newline characters, and
all data after the first % will be sent to the command as standard input.
- A hozzászóláshoz be kell jelentkezni