/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
dir og datoformat
Fra : Morten Christensen


Dato : 23-03-10 10:38

Jeg forsøger at indlæse en liste over filer i et administrationssystem.
I administrationssystemet vil jeg bruge filens dato.

Filerne ligger på en Ubuntu 8.04 server.

Jeg laver listen over filer med et shell-script:
dir -l /sti/til/filer > dir.txt

Når jeg starter scripted manuelt ved at være ssh'et ind som root står
datoen i formatet "2010-03-23"

Når scriptet køres fra /etc/crontab med linien:
31 * * * * root /root/bin/dir.sh
står datoen i formatet "mar 23". Det format er tungt at bearbejde i
administrationssystemet.

Har I bud på, hvordan jeg får cron til at levere i 2010-03-23 formatet ?


--
Morten Christensen

 
 
Mogens Kjaer (23-03-2010)
Kommentar
Fra : Mogens Kjaer


Dato : 23-03-10 11:02

On 03/23/2010 10:38 AM, Morten Christensen wrote:
....
> Har I bud på, hvordan jeg får cron til at levere i 2010-03-23 formatet ?

Din LANG er nok sat forskelligt i de to miljøer:

$ export LANG=C
$ dir -l yum.lst
-rw-r--r-- 1 root root 1775920 Mar 19 09:15 yum.lst
$ export LANG=en_US.UTF-8
$ dir -l yum.lst
-rw-r--r-- 1 root root 1775920 2010-03-19 09:15 yum.lst

Mogens
--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Mobile: +45 22 12 53 25
Email: mk@crc.dk Homepage: http://www.crc.dk

Morten Christensen (23-03-2010)
Kommentar
Fra : Morten Christensen


Dato : 23-03-10 11:15

Den 23-03-2010 11:01, Mogens Kjaer skrev:
> On 03/23/2010 10:38 AM, Morten Christensen wrote:
> ...
>> Har I bud på, hvordan jeg får cron til at levere i 2010-03-23 formatet ?
>
> Din LANG er nok sat forskelligt i de to miljøer:
>
> $ export LANG=C
> $ dir -l yum.lst
> -rw-r--r-- 1 root root 1775920 Mar 19 09:15 yum.lst
> $ export LANG=en_US.UTF-8
> $ dir -l yum.lst
> -rw-r--r-- 1 root root 1775920 2010-03-19 09:15 yum.lst
>
> Mogens

Det ser ud til at løse problemet. Tak for hjælpen

--
Morten Christensen

Steen Thomassen (23-03-2010)
Kommentar
Fra : Steen Thomassen


Dato : 23-03-10 12:07

Morten Christensen wrote:
> Jeg forsøger at indlæse en liste over filer i et administrationssystem.
> I administrationssystemet vil jeg bruge filens dato.
>
> Filerne ligger på en Ubuntu 8.04 server.
>
> Jeg laver listen over filer med et shell-script:
> dir -l /sti/til/filer > dir.txt
>
> Når jeg starter scripted manuelt ved at være ssh'et ind som root står
> datoen i formatet "2010-03-23"
>
> Når scriptet køres fra /etc/crontab med linien:
> 31 * * * * root /root/bin/dir.sh
> står datoen i formatet "mar 23". Det format er tungt at bearbejde i
> administrationssystemet.
>
> Har I bud på, hvordan jeg får cron til at levere i 2010-03-23 formatet ?

En simpel er at lade date udskrive dato:
sat@sat-ubuntu$ date -r fil +%Y-%m-%d
2010-03-21
sat@sat-ubuntu$ ls -l fil
-rw-r--r-- 1 sat sat 42 2010-03-21 13:47 fil

En anden måde er at skrive environment LANG foran kommandoen:

sat@sat-ubuntu$ LANG=C ls -l fil
-rw-r--r-- 1 sat sat 42 Mar 21 13:47 fil

Mvh
Steen

Adam Sjøgren (23-03-2010)
Kommentar
Fra : Adam Sjøgren


Dato : 23-03-10 16:53

On Tue, 23 Mar 2010 10:38:17 +0100, Morten wrote:

> Har I bud på, hvordan jeg får cron til at levere i 2010-03-23 formatet ?

Hvis du bruger en ls der har --time-style, kan du gøre således:

$ echo TEST > hep
$ ls -l --time-style=long-iso hep
-rw-rw-r-- 1 asjo asjo 5 2010-03-23 10:53 hep
$

Eller du kan prøve at sætte LC_ALL til f.eks. en_DK.UTF-8:

$ export LC_ALL=C
$ echo TEST > hep
$ ls -l hep
-rw-rw-r-- 1 asjo asjo 5 Mar 23 10:51 hep
$ LC_ALL=en_DK.UTF-8 ls -l hep
-rw-rw-r-- 1 asjo asjo 5 2010-03-23 10:51 hep
$


Mvh.

Adam

--
"(Phew, it's hard to explain with my poor English.)" Adam Sjøgren
asjo@koldfront.dk

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste