Strona główna Pomoc Szukaj Zaloguj się Rejestracja
Witamy, Gość. Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: REGULAMIN FORUMPAJACYK - KLIKNIJ
 
Strony: [1]
  Drukuj  
Autor Wątek: bash cron format daty  (Przeczytany 508 razy)
y00r
Użytkownik
**
Wiadomości: 34


System:
unknown
Przeglądarka:
unknown


Zobacz profil
« : Marzec 01, 2010, 08:48:45 »

Witam!

Problem pewnie banalny, niestety niełatwo mi znaleźć rozwiązanie.
Jest sobie skrypt, w którym między innymi tworzone są katalogi w oparciu o bieżącą datę

przykład

DATA=`date +%x`
DIRHOME='/home/user'

mkdir $DIRHOME/$DATA

date +%x wyświetla datę w ładnym czytelnym formacie rrrr-mm-dd

Skrypt uruchomiony z powłoki działa bez zarzutu wszystkie katalogi się tworzą wykonywane jest kopiowanie.
Pojedyncze tworzenie katalogów jak z przykładu wyżej tez bez problemowo.

Dopiero gdy skrypt umieszczany jest w cron'ie robią się cuda. Sypie błędem przy pierwszym tworzeniu katalogu:"mkdir: cannot create directory '/home/user/03/01/10' No such file or directory" błąd oczywisty tylko dlaczego tworzony ma być katalog a właściwie katalogi w takim porąbanym formacie mm/dd/rr skoro w skrypcie jest inny? Skrypty uruchamiane w cronie odpalają się pod inną powłoką ? Dodam, że na początku właściwego jest dyrektywa #!/bin/bash.
Pozdrawiam!

EDIT:

Przeprowadziłem małą próbę:

taki skrypt
Kod:
#!/bin/bash
DATA=`date +%x`
echo $DATA

po uruchomieniu przez:
Kod:
./data.sh

pokazuje pięknie ładnie: 2010-03-01
Jednak gdy skrypt ten zostaje uruchomiony poprzez cron`a na ekranie pojawia się: 03/01/10 ocb ? ?

EDIT2:

Radośnie stwierdzam iż problem był w zmiennej środowiskowej LANG. Cron domyślnie odpala się ze swoimi zmiennymi nawet ze swoim całym środowiskiem domyślnym co powoduje że zmienna LANG ma wartość "C".
Format daty w tym LANG`u ma postać mm/dd/rr. Do skryptu należało dodać 2 linijki jedna ustawia zmienną LANG a druga ją exportuje:
Kod:
LANG=pl_PL
export LANG

Jeśli ma ktoś ciekawsze rozwiązanie zapraszam.
Ostatnia zmiana: Marzec 01, 2010, 01:56:37 wysłane przez y00r Zapisane

Ludzie dzielą się na tych, którzy robią backupy i na tych, którzy będą robili backupy. usmiech
Strony: [1]
  Drukuj  
 
Skocz do: