/ 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
cronjob
Fra : Jens Rasmussen


Dato : 09-11-08 15:16

Hej
Er der nogen der kan hjælpe mig med et cronjob som tømmer mit tmp bibliotek
engnag hvert min ?
der er nogle mapper som ikke skal slette, kan det lade sig gøre ?

Jens


 
 
Per Jørgensen (10-11-2008)
Kommentar
Fra : Per Jørgensen


Dato : 10-11-08 07:53

Jens Rasmussen wrote:
> Hej
> Er der nogen der kan hjælpe mig med et cronjob som tømmer mit tmp
> bibliotek engnag hvert min ?
> der er nogle mapper som ikke skal slette, kan det lade sig gøre ?
>
> Jens

Du kan gøre følgende:
som root i konsole:
crontab -e

Derefter derinde laver du en linie der hedder:

1 * * * * rm -rf /tmp/*

tryk ESC!
tryk : w q

og nu er det cronjob installeret som root's.



Klaus Alexander Seis~ (10-11-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 10-11-08 08:14

Per Jørgensen skrev:

> Jens Rasmussen wrote:
>
>> Er der nogen der kan hjælpe mig med et cronjob som tømmer mit tmp
>> bibliotek engnag hvert min ?
>> der er nogle mapper som ikke skal slette, kan det lade sig gøre ?
>
> Du kan gøre følgende:
> som root i konsole:
> crontab -e
>
> Derefter derinde laver du en linie der hedder:
>
> 1 * * * * rm -rf /tmp/*
>
> tryk ESC!
> tryk : w q
>
> og nu er det cronjob installeret som root's.

Jens spurgte hvordan man får udført jobbet hvert minut, men din
løsning kører ét minut over hver hele time - dvs. 24 gange i døgnet.
Erstat 1-tallet med en stjerne, så kører jobbet hvert minut.

Jens ønskede en løsning der evt. kunne tage højde for visse mapper,
mens din løsning sletter rub og stub (dog uden at røre fx dot-filer).
Man kan evt. lade sig inspirere af /etc/init.d/bootclean i Ubuntu:

· http://paste2.org/p/99284

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Per Jørgensen (10-11-2008)
Kommentar
Fra : Per Jørgensen


Dato : 10-11-08 09:37

Klaus Alexander Seistrup wrote:
> Per Jørgensen skrev:
>
>> Jens Rasmussen wrote:
>>
>>> Er der nogen der kan hjælpe mig med et cronjob som tømmer mit tmp
>>> bibliotek engnag hvert min ?
>>> der er nogle mapper som ikke skal slette, kan det lade sig gøre ?
>> Du kan gøre følgende:
>> som root i konsole:
>> crontab -e
>>
>> Derefter derinde laver du en linie der hedder:
>>
>> 1 * * * * rm -rf /tmp/*
Hov det var nu en fejl.
jeg ville have skrevet */1

>>
>> tryk ESC!
>> tryk : w q
>>
>> og nu er det cronjob installeret som root's.
>
> Jens spurgte hvordan man får udført jobbet hvert minut, men din
> løsning kører ét minut over hver hele time - dvs. 24 gange i døgnet.
> Erstat 1-tallet med en stjerne, så kører jobbet hvert minut.
>
> Jens ønskede en løsning der evt. kunne tage højde for visse mapper,
> mens din løsning sletter rub og stub (dog uden at røre fx dot-filer).
ja eftersonm han ikke beskriver hvad han ellers har liggende i det
bibliotek - så er det svært at vide.
Jeg har f.eks ikke noget liggende i mit tmp bibliotek der ikke kan tåle
at blive slettet - da jeg med vilje har placeret dette andre steder -
hvis det var vigtigt!

> Man kan evt. lade sig inspirere af /etc/init.d/bootclean i Ubuntu:
>
> · http://paste2.org/p/99284
>
> Mvh,
>


Kent Friis (10-11-2008)
Kommentar
Fra : Kent Friis


Dato : 10-11-08 19:15

Den Mon, 10 Nov 2008 07:52:41 +0100 skrev Per Jørgensen:
> Jens Rasmussen wrote:
>> Hej
>> Er der nogen der kan hjælpe mig med et cronjob som tømmer mit tmp
>> bibliotek engnag hvert min ?
>> der er nogle mapper som ikke skal slette, kan det lade sig gøre ?
>>
>> Jens
>
> Du kan gøre følgende:
> som root i konsole:
> crontab -e
>
> Derefter derinde laver du en linie der hedder:
>
> 1 * * * * rm -rf /tmp/*
>
> tryk ESC!
> tryk : w q

Der er ingen garanti for at $EDITOR forstår <ESC>:wq

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Lars Kongshøj (10-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 10-11-08 22:02

Kent Friis wrote:
> Der er ingen garanti for at $EDITOR forstår <ESC>:wq

Der er ingen grund til at fifle med $EDITOR - de fleste programmer
bruger "vi", når den ikke er sat.


/Lars

Klaus Ellegaard (10-11-2008)
Kommentar
Fra : Klaus Ellegaard


Dato : 10-11-08 22:09

<lars_kongshoj@hotmail.com> writes:

>Der er ingen grund til at fifle med $EDITOR - de fleste programmer
>bruger "vi", når den ikke er sat.

Lige indtil man piller i /etc/alternatives eller noget tilsvarende.
Så burde de fleste programmer rette ind til højre.

Mvh.
   Klaus, der nu er ganske tilfreds med vi som default.

Jesper Poulsen (10-11-2008)
Kommentar
Fra : Jesper Poulsen


Dato : 10-11-08 23:44

Lars Kongshøj wrote:

> Der er ingen grund til at fifle med $EDITOR - de fleste programmer
> bruger "vi", når den ikke er sat.

Ok.

Jeg får joe.


--
Mvh
Jesper Poulsen

Kent Friis (11-11-2008)
Kommentar
Fra : Kent Friis


Dato : 11-11-08 18:42

Den Mon, 10 Nov 2008 22:01:42 +0100 skrev Lars Kongshøj:
> Kent Friis wrote:
>> Der er ingen garanti for at $EDITOR forstår <ESC>:wq
>
> Der er ingen grund til at fifle med $EDITOR - de fleste programmer
> bruger "vi", når den ikke er sat.
>

Der er ingen garanti for at den ikke er sat.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Asbjorn Hojmark (11-11-2008)
Kommentar
Fra : Asbjorn Hojmark


Dato : 11-11-08 07:59

On 10 Nov 2008 18:15:07 GMT, Kent Friis <nospam@nospam.invalid> wrote:

> Der er ingen garanti for at $EDITOR forstår <ESC>:wq

Næh.. Men der er vel en rimelig god chance for, at de, der har ændret
$EDITOR, godt selv ved det, og altså også godt ved, at *de* ikke skal
bruge <ESC>:wq ?

-A
--
http://www.hojmark.org/

Kent Friis (11-11-2008)
Kommentar
Fra : Kent Friis


Dato : 11-11-08 18:54

Den Tue, 11 Nov 2008 07:58:54 +0100 skrev Asbjorn Hojmark:
> On 10 Nov 2008 18:15:07 GMT, Kent Friis <nospam@nospam.invalid> wrote:
>
>> Der er ingen garanti for at $EDITOR forstår <ESC>:wq
>
> Næh.. Men der er vel en rimelig god chance for, at de, der har ændret
> $EDITOR, godt selv ved det, og altså også godt ved, at *de* ikke skal
> bruge <ESC>:wq ?

Kan du garantere at alle distro'er har den default sat til vi?

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Asbjorn Hojmark (11-11-2008)
Kommentar
Fra : Asbjorn Hojmark


Dato : 11-11-08 22:01

On 11 Nov 2008 17:54:14 GMT, Kent Friis <nospam@nospam.invalid> wrote:

> Kan du garantere at alle distro'er har den default sat til vi?

Kun du nævne et par stykker, hvor den *ikke* er? Ellers er det
oprindelige svar jo helt fint og din respons blot refleks-brok.

-A
--
http://www.hojmark.org/

Jesper Poulsen (12-11-2008)
Kommentar
Fra : Jesper Poulsen


Dato : 12-11-08 10:12

Asbjorn Hojmark wrote:

>> Kan du garantere at alle distro'er har den default sat til vi?
> Kun du nævne et par stykker, hvor den *ikke* er? Ellers er det

Jeg har installeret joe og har ikke ændret i /etc/alternatives/ og
editor giver joe.


--
Mvh
Jesper Poulsen

Kent Friis (12-11-2008)
Kommentar
Fra : Kent Friis


Dato : 12-11-08 19:24

Den Tue, 11 Nov 2008 22:01:16 +0100 skrev Asbjorn Hojmark:
> On 11 Nov 2008 17:54:14 GMT, Kent Friis <nospam@nospam.invalid> wrote:
>
>> Kan du garantere at alle distro'er har den default sat til vi?
>
> Kun du nævne et par stykker, hvor den *ikke* er?

Nej, for jeg har haft den sat til jed lige siden dengang jeg kørte
slackware på et UMSDOS filsystem oven på en DOS 6.22, så jeg har
faktisk slet ikke haft brug for default'en. Men jeg mindes da at
de distro'er der sigtede mod brugervenlighed brugte nano for snart
mange år siden.

I dag ville jeg faktisk forvente at en distro der sigter mod
brugervenlighed bruger en grafisk editor - i hvert fald hvis $DISPLAY
er sat.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Lars Kongshøj (12-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 12-11-08 19:54

Kent Friis wrote:
> I dag ville jeg faktisk forvente at en distro der sigter mod
> brugervenlighed bruger en grafisk editor - i hvert fald hvis $DISPLAY
> er sat.

Er der virkeligt nogen distributioner, der har patchet crontab til at
tage højde for $DISPLAY?

Det er overflødigt, ikke brugervenligt, overfor de gængse brugere af
crontab.

/Lars

Kent Friis (12-11-2008)
Kommentar
Fra : Kent Friis


Dato : 12-11-08 20:09

Den Wed, 12 Nov 2008 19:54:06 +0100 skrev Lars Kongshøj:
> Kent Friis wrote:
>> I dag ville jeg faktisk forvente at en distro der sigter mod
>> brugervenlighed bruger en grafisk editor - i hvert fald hvis $DISPLAY
>> er sat.
>
> Er der virkeligt nogen distributioner, der har patchet crontab til at
> tage højde for $DISPLAY?

Det ville være en tåbelig måde at gøre det på. Man behøver blot lade
$EDITOR pege på et script der checker $DISPLAY.

> Det er overflødigt, ikke brugervenligt, overfor de gængse brugere af
> crontab.

Folk der ikke bryder sig om grafiske miljøer må enten lade være med
at starte X, eller ændre $EDITOR.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Peter Makholm (10-11-2008)
Kommentar
Fra : Peter Makholm


Dato : 10-11-08 09:46

Per Jørgensen <archlinux@address.invalid> writes:

> Jeg har f.eks ikke noget liggende i mit tmp bibliotek der ikke kan
> tåle at blive slettet - da jeg med vilje har placeret dette andre
> steder -
> hvis det var vigtigt!

Jeg ville nok blive noget bitter hvis ting blev slettet fra /tmp mens
jeg arbejdede på maskinen. Jeg lægger jo netop ting mned i /tmp fordi
jeg skal bruge det, ikke fordi det skal slettes.

Specielt bliver jeg bitter når min X11-socket bliver slettet, men det
er heller ikke så sjovt at få slettet sin ssh-agent socket eller nogle
af de andre ting der lægger socket i /tmp til brug mens jeg er logget
ind.

//Makholm

Jørgen Heesche (10-11-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 10-11-08 11:36

Peter Makholm wrote:
> Per Jørgensen <archlinux@address.invalid> writes:
>
>> Jeg har f.eks ikke noget liggende i mit tmp bibliotek der ikke kan
>> tåle at blive slettet - da jeg med vilje har placeret dette andre
>> steder -
>> hvis det var vigtigt!
>
> Jeg ville nok blive noget bitter hvis ting blev slettet fra /tmp mens
> jeg arbejdede på maskinen. Jeg lægger jo netop ting mned i /tmp fordi
> jeg skal bruge det, ikke fordi det skal slettes.
>
> Specielt bliver jeg bitter når min X11-socket bliver slettet, men det
> er heller ikke så sjovt at få slettet sin ssh-agent socket eller nogle
> af de andre ting der lægger socket i /tmp til brug mens jeg er logget
> ind.
>
> //Makholm
Det er rigtig dårlig ide at slette alt i /tmp, det er katastrofalt at
gøre det; f.eks. vil man slette cache-filer tilhørende aktive job.
Og det er absolut unødvendigt at gøre det hver minut.
Det er i orden at slette filer fra /tmp, MEN det skal være GAMLE filer.
Gamle filer slettes med:
find /path/to/files* -mtime +5 -exec rm {} \;
Den kommando sletter filer ældre end 5 dage.


--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Klaus Alexander Seis~ (10-11-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 10-11-08 15:10

Jørgen Heesche skrev:

> Det er i orden at slette filer fra /tmp, MEN det skal være
> GAMLE filer.
> Gamle filer slettes med:
> find /path/to/files* -mtime +5 -exec rm {} \;
> Den kommando sletter filer ældre end 5 dage.

Hvordan finder man ud af at en fil er gammel? Er 5 dage nok? Er 10?

Den kommando du nævner sletter alt (filer, sockets, ...) der ikke er
modificeret de seneste 5 dage. Hvis jeg ikke logger ud af X, men blot
låser skærmen, vil fx /tmp/.X0-lock's mtime være lisså gammel som
den tid der er gået siden jeg loggede ind. Hvor smart er det lige at
slette den?

Man kan formodentlig tillade sig at sletter 'noget' i /tmp/ der er
ældre end 5 dage ved hver genstart, men bestemt ikke hvert minut, og
i det hele taget ville jeg være påpasselig med at slette noget som
helst i /tmp/ udelukkende baseret på en så vilkårlig faktor som mtime.

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Mogens Kjaer (10-11-2008)
Kommentar
Fra : Mogens Kjaer


Dato : 10-11-08 15:25

Klaus Alexander Seistrup wrote:
....
> Den kommando du nævner sletter alt (filer, sockets, ...) der ikke er
> modificeret de seneste 5 dage. Hvis jeg ikke logger ud af X, men blot
> låser skærmen, vil fx /tmp/.X0-lock's mtime være lisså gammel som
> den tid der er gået siden jeg loggede ind. Hvor smart er det lige at
> slette den?

Har mange distributioner ikke tmpwatch installeret?

På en Fedora er den sat til at slette filer ældre end 10 dage i /tmp,
og går uden om /tmp/.X11-unix /tmp/.XIM-unix /tmp/.font-unix
/tmp/.ICE-unix og /tmp/.Test-unix

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

Klaus Alexander Seis~ (10-11-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 10-11-08 16:26

Mogens Kjaer skrev:

> Har mange distributioner ikke tmpwatch installeret?

Ubuntu har tilsyneladende ikke:

· http://packages.ubuntu.com/search?keywords=tmpwatch

Til gengæld har Ubuntu så tmpreaper:

· http://packages.ubuntu.com/tmpreaper

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Claus Rasmussen (10-11-2008)
Kommentar
Fra : Claus Rasmussen


Dato : 10-11-08 18:59

Jørgen Heesche wrote:

> Det er rigtig dårlig ide at slette alt i /tmp, det er katastrofalt at
> gøre det; f.eks. vil man slette cache-filer tilhørende aktive job.
> Og det er absolut unødvendigt at gøre det hver minut.
> Det er i orden at slette filer fra /tmp, MEN det skal være GAMLE filer.

Jeg er helt enig. Reglen er, at filer under /tmp tilhører kørende processer
og kun må slettes af processen selv. Deraf følger at man kan slette alt
fra /tmp ved reboot, da der ikke længere er nogen processer, der ejer
filerne, og det er hvad de fleste linux distributioner allerede gør.

Det er en fejl, hvis der ligger filer under /tmp som skal overleve en
reboot. Den slags filer skal ligge under /var/lib eller /var/cache i
stedet.

Eneste undtagelse til reglen om ikke at slette fra /tmp undtagen ved reboot
er filer, der hørte til processer, der crashede eller som ikke rydder op
efter sig. Der findes en række udemærkede værktøjer der automatiserer
dette. F.eks tmpwatch, der sikkert allerede er med i din distribution og
som kører en gang om dagen eller om ugen.

-Claus


Peter Makholm (10-11-2008)
Kommentar
Fra : Peter Makholm


Dato : 10-11-08 15:26

Klaus Alexander Seistrup <klaus@seistrup.dk> writes:

>> Gamle filer slettes med:
>> find /path/to/files* -mtime +5 -exec rm {} \;
>> Den kommando sletter filer ældre end 5 dage.
>
> Hvordan finder man ud af at en fil er gammel? Er 5 dage nok? Er 10?

Det er altid et skridt på vejen at kun slette 'gamle' filer. Jeg ville
nok tjekke på atime istedet. Hvor lang tid 'gammelt' er afhænger meget
af maskinens brug. Jeg har adgang til servere hvor jeg ville sætte det
så langt ned som 15 minutter og på en desktop-maskine ville jeg trykt
sætte det til et døgn[0].

Ud over at teste atime istedet for mtime, så ville jeg nok også tjekke
for om der var processer der havde filen åben. Det er bare ikke så let
at gøre via find.


En mulighed for at få en forkromet løsning, uden at skulle
reimplementere det hele selv er at se på tmpreaper[1]. Men jeg sletter
nu bare /tmp ved den daglige boot og på always-on maskiner har jeg det
med at lade /tmp sande totalt til.


0) Men jeg er også tilhænger af at slukke min maskine når jeg er væk i
længere tid (dvs. om natten)

1) http://packages.debian.org/sid/tmpreaper
http://www.freebsdsoftware.org/sysutils/tmpreaper.html

//Makholm

Asbjorn Hojmark (11-11-2008)
Kommentar
Fra : Asbjorn Hojmark


Dato : 11-11-08 07:56

On Mon, 10 Nov 2008 15:25:31 +0100, Peter Makholm <peter@makholm.net>
wrote:

> Ud over at teste atime istedet for mtime, så ville jeg nok også tjekke
> for om der var processer der havde filen åben. Det er bare ikke så let
> at gøre via find.

Undskyld et nybi-spørgsmål, men hvorfor kan filer i brug overhovedet
slettes? Hvorfor er de ikke låst af processen, der bruger dem?

-A
--
http://www.hojmark.org/

Lars Kongshøj (11-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 11-11-08 08:25

Asbjorn Hojmark wrote:
> Undskyld et nybi-spørgsmål, men hvorfor kan filer i brug overhovedet
> slettes? Hvorfor er de ikke låst af processen, der bruger dem?

Man kan heller ikke slette en åben fil, kun dens i-node / "directory
indgang". Men hvis filen forsøges genåbnet af et processen, eller af en
anden proces, den samarbejder med - så har man problemet, da den nu ikke
længere kan findes i filsystemet.

/Lars

Klaus Ellegaard (11-11-2008)
Kommentar
Fra : Klaus Ellegaard


Dato : 11-11-08 08:29

Asbjorn Hojmark <Asbjorn@Hojmark.ORG> writes:

>Undskyld et nybi-spørgsmål, men hvorfor kan filer i brug overhovedet
>slettes? Hvorfor er de ikke låst af processen, der bruger dem?

File locking i UNIX er bundet til en inode i stedet for et filnavn.
Lidt à la hostnames: det er bare en nem måde at referere til en IP
på, men hvis man sletter hostnavnet, lever IP'en fint videre.

Hvis man sletter en fil mens den er åben, vil inoden stadig være
reserveret, indtil processen slipper sit filehandle til den. Det
ser man typisk i praksis, hvis man har et næsten fyldt filsystem
og sletter en stor logfil. Hvad sker der? Ingenting. Filsystemet
er stadig fyldt. Genstart applikationen, der havde fat i filen,
og - tada - masser af plads.

Det er lidt mere kompliceret end det i praksis, men det var den
korte intro

Mvh.
   Klaus.

Thorbjørn Ravn Ande~ (11-11-2008)
Kommentar
Fra : Thorbjørn Ravn Ande~


Dato : 11-11-08 09:44

Asbjorn Hojmark skrev:

> Undskyld et nybi-spørgsmål, men hvorfor kan filer i brug overhovedet
> slettes? Hvorfor er de ikke låst af processen, der bruger dem?

Sådan er verdenen under Windows. Under Unix er FILEN som sådan låst,
men ikke FILNAVNET (tænk hard links), så det kan man bare slette. Så
længe FILEN er åben forbliver den på disken, men når den lukkes og
antallet af FILNAVNE til FILEN er dalet til nul (inodecount) så slettes
området.

Kent Friis (11-11-2008)
Kommentar
Fra : Kent Friis


Dato : 11-11-08 18:50

Den Tue, 11 Nov 2008 07:56:21 +0100 skrev Asbjorn Hojmark:
> On Mon, 10 Nov 2008 15:25:31 +0100, Peter Makholm <peter@makholm.net>
> wrote:
>
>> Ud over at teste atime istedet for mtime, så ville jeg nok også tjekke
>> for om der var processer der havde filen åben. Det er bare ikke så let
>> at gøre via find.
>
> Undskyld et nybi-spørgsmål, men hvorfor kan filer i brug overhovedet
> slettes? Hvorfor er de ikke låst af processen, der bruger dem?

Filer der er låst fordi de er i brug er årsagEN til at man skal
genstarte stort set hver gang man installerer noget på Windows. Når
installeren ikke kan erstatte en fil (typisk en DLL), skriver den
en notits i registry om at filen skal erstattes ved reboot (når
ingen programmer kører er ingen filer låste), og smækker så en
dialogboks op om at man skal reboote.

Andre har allerede givet den tekniske forklaring på hvorfor *nix
ikke låser filen.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Peter Makholm (11-11-2008)
Kommentar
Fra : Peter Makholm


Dato : 11-11-08 06:25

Claus Rasmussen <news-desu@veda.dk> writes:

> Jeg er helt enig. Reglen er, at filer under /tmp tilhører kørende processer
> og kun må slettes af processen selv.

Mine brugere lægger nu ofte ting i temp der overlever adskillige
processer og er ikke så gode til at huske at ryde op efter sig. Jeg
skal nok slå dem med et cluebat næste gang jeg ser det.

//Makholm

Claus Rasmussen (11-11-2008)
Kommentar
Fra : Claus Rasmussen


Dato : 11-11-08 13:53

Peter Makholm wrote:

> Mine brugere lægger nu ofte ting i temp der overlever adskillige
> processer og er ikke så gode til at huske at ryde op efter sig. Jeg
> skal nok slå dem med et cluebat næste gang jeg ser det.

Her er dit cluebat: http://www.pathname.com/fhs/pub/fhs-2.3.html

Om /tmp står der: Programs must not assume that any files or directories
in /tmp are preserved between invocations of the program

Man kan i stedet bruge /var/tmp: The /var/tmp directory is made available
for programs that require temporary files or directories that are preserved
between system reboots

Det flytter selvfølgelig bare oprydningsproblemet fra /tmp til /var/tmp og
så er man jo lige vidt - men på en mere standardiseret måde

-Claus


Klaus Ellegaard (11-11-2008)
Kommentar
Fra : Klaus Ellegaard


Dato : 11-11-08 18:22

Claus Rasmussen <news-desu@veda.dk> writes:

>Om /tmp står der: Programs must not assume that any files or directories
>in /tmp are preserved between invocations of the program

Der står i Solaris', at det er forbudt at hældt noget som helst
fra andre kilder end Sun selv i /usr - inklusiv i /usr/local

Gæt hvor mange der overholder den i praksis

Mvh.
   Klaus.

Lars Kongshøj (11-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 11-11-08 19:48

Klaus Ellegaard wrote:
> Der står i Solaris', at det er forbudt at hældt noget som helst
> fra andre kilder end Sun selv i /usr - inklusiv i /usr/local
>
> Gæt hvor mange der overholder den i praksis

Øh - det gør stort set alle vel? Jeg mindes ikke at have set det
anderledes. Alle systemadministratorer ved forhåbentligt hvem, der
"bestemmer" over /usr.

/Lars

Klaus Ellegaard (11-11-2008)
Kommentar
Fra : Klaus Ellegaard


Dato : 11-11-08 21:01

<lars_kongshoj@hotmail.com> writes:

>Øh - det gør stort set alle vel? Jeg mindes ikke at have set det
>anderledes. Alle systemadministratorer ved forhåbentligt hvem, der
>"bestemmer" over /usr.

BSD-traditionen er at placere local installs i /usr/local.
SysV har i stedet defineret, at den slags skal i /opt.

I praksis har /usr/local overlevet, og det er ikke meget, man
ser i /opt (for værdier af "man" i retning af "på vores 1000+
maskiner fra en masse forskellige kunder).

Sun har da også et noget ambivalent forhold til det:

/usr/local

Not part of the SVR4-based Solaris distribution. The
/usr directory is exclusively for software bundled with
the Solaris operating system. If needed for storing
machine-local add-on software, create the directory
/opt/local and make /usr/local a symbolic link to
/opt/local. The /opt directory or filesystem is for
storing add-on software to the system.

(fra "man filesystem" på Solaris 10)


Men igen - hvor mange gange ser man det i prakis? Lige omtrent
nul. Folk hælder gladeligt deres ting i /usr/local - også mig
selv.

Hvis man installerer pakker fra Sun Freeware ryger de også pr.
default direkte i /usr/local uden symlinks eller noget.

Mvh.
   Klaus.

Lars Kongshøj (11-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 11-11-08 21:38

Klaus Ellegaard wrote:
> Men igen - hvor mange gange ser man det i prakis? Lige omtrent
> nul. Folk hælder gladeligt deres ting i /usr/local - også mig
> selv.

Der er nu flere Open Source programpakker, der ikke er så dygtige til at
lægge alle filer, hvor man beder om det. Så ens /usr/local bør se sådan ud:

root@xc> ls -l /usr/local
-r--r--r-- 1 root root 49 sep 8 2002 /usr/local
root@xc> lsattr /usr/local
---i---------- /usr/local
root@xc> cat /usr/local
Der skal ikke være noget /usr/local-katalog her.
root@xc>

Klaus Ellegaard (11-11-2008)
Kommentar
Fra : Klaus Ellegaard


Dato : 11-11-08 23:01

<lars_kongshoj@hotmail.com> writes:

>Der er nu flere Open Source programpakker, der ikke er så dygtige til at
>lægge alle filer, hvor man beder om det. Så ens /usr/local bør se sådan ud:

>root@xc> ls -l /usr/local
>-r--r--r-- 1 root root 49 sep 8 2002 /usr/local

.....og hvis din kunde lige har købt et proprietært program, der
insisterer på at ligge i /usr/local?

"Kære kunde, af ideologiske årsager ønsker jeg ikke at have jer
og jeres ellers vældigt lukrative driftkontrakt som kunde her
længere. Hejhej."

Mvh.
   Klaus.

Lars Kongshøj (12-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 12-11-08 19:57

Klaus Ellegaard wrote:
> <lars_kongshoj@hotmail.com> writes:
>> root@xc> ls -l /usr/local
>> -r--r--r-- 1 root root 49 sep 8 2002 /usr/local
> ....og hvis din kunde lige har købt et proprietært program, der
> insisterer på at ligge i /usr/local?
> "Kære kunde, af ideologiske årsager ønsker jeg ikke at have jer
> og jeres ellers vældigt lukrative driftkontrakt som kunde her
> længere. Hejhej."

Strengt men retfærdigt.

De par kommercielle programmer, der er installeret på den pågældende
maskine kunne fint installeres i /opt.

Derimod var der enkelte open source programmer, der skulle hjælpes på vej.

/Lars

Thorbjørn Ravn Ande~ (11-11-2008)
Kommentar
Fra : Thorbjørn Ravn Ande~


Dato : 11-11-08 22:24

Klaus Ellegaard skrev:
> <lars_kongshoj@hotmail.com> writes:
>
>> Øh - det gør stort set alle vel? Jeg mindes ikke at have set det
>> anderledes. Alle systemadministratorer ved forhåbentligt hvem, der
>> "bestemmer" over /usr.
>
> BSD-traditionen er at placere local installs i /usr/local.
> SysV har i stedet defineret, at den slags skal i /opt.
>
> I praksis har /usr/local overlevet, og det er ikke meget, man
> ser i /opt (for værdier af "man" i retning af "på vores 1000+
> maskiner fra en masse forskellige kunder).
>
> Sun har da også et noget ambivalent forhold til det:
>
> /usr/local
>
> Not part of the SVR4-based Solaris distribution. The
> /usr directory is exclusively for software bundled with
> the Solaris operating system. If needed for storing
> machine-local add-on software, create the directory
> /opt/local and make /usr/local a symbolic link to
> /opt/local. The /opt directory or filesystem is for
> storing add-on software to the system.
>
> (fra "man filesystem" på Solaris 10)

Det oplagte spørgsmål er så hvorfor i alverden ikke Sun bare har ladet
/usr/local VÆRE et symbolsk link til /opt/local? Som standard.

Suk suk suk.

Nå, de er vist ved at lære det - hvis man vil have folk til at udvikle
til skidtet, skal det være lige så nemt at administerere som Linux
distribution X (vælg selv).

Er ret spændt på at se hvad OpenSolaris 8.11 bliver til. Legede en del
med 8.05'eren og opdagede man IKKE bare skulle opdatere den løbende.
Amatører... Suk suk suk.


Peter Makholm (11-11-2008)
Kommentar
Fra : Peter Makholm


Dato : 11-11-08 08:25

Asbjorn Hojmark <Asbjorn@Hojmark.ORG> writes:

> Undskyld et nybi-spørgsmål, men hvorfor kan filer i brug overhovedet
> slettes? Hvorfor er de ikke låst af processen, der bruger dem?

Svar 1:

Fordi mandatory locking oftest er en unødvendig komplikation og mere
et onde end et gode (i hvert fald min erfaring fra MS-Windows, der
bruger det).

Svar 2:

Rent faktisk sletter vi ikke filen, men kun referencen til den. Når
der ikke er flere referencer til filen bliver den slettet. Hvis en
process har filen åben tæller dette som en reference. Dette er både
smart og ikke så smart, alt efter hvad ens problem lige er...

(Det ville være rigtig smart hvis jeg kunne åbne en navneløs fil og så
linke den ind i filsystemet når jeg var færdig med at skrive dne.)

//Makholm

Peter Makholm (11-11-2008)
Kommentar
Fra : Peter Makholm


Dato : 11-11-08 16:26

Claus Rasmussen <news-desu@veda.dk> writes:

> Her er dit cluebat: http://www.pathname.com/fhs/pub/fhs-2.3.html
>
> Om /tmp står der: Programs must not assume that any files or directories
> in /tmp are preserved between invocations of the program

Det forhindrer på ingen måde at *brugerne* antager at de kan benytte
/tmp som arbejdsområde og beskrivelsen af /var/tmp gør ikke det til et
mere sandsynligt sted.

At bruge /tmp som arbedsområde er nok en skade fra da jeg arbejdede
med NFS-mountede og quota-befængte hjemmekataloger. Men det er svært
at komme af med, selvom jeg ikek er udsat for nogle af onderne mere.

//Makholm

Jens Rasmussen (17-11-2008)
Kommentar
Fra : Jens Rasmussen


Dato : 17-11-08 09:51

Hej
I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald ikke et jeg
har forstået.
Det kan godt være at det ikke er smart at slette filerne hvert min. men så
måske hver time.
Det skal køre på en webserver jeg har sat op, så der er ikke nogen visuel
brugerflade.

Jens

"Jens Rasmussen" <J1s@elbaekhus.dk> skrev i meddelelsen
news:4916f096$0$90272$14726298@news.sunsite.dk...
> Hej
> Er der nogen der kan hjælpe mig med et cronjob som tømmer mit tmp
> bibliotek engnag hvert min ?
> der er nogle mapper som ikke skal slette, kan det lade sig gøre ?
>
> Jens
>


Klaus Alexander Seis~ (17-11-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 17-11-08 10:14

Jens Rasmussen skrev:

> I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald
> ikke et jeg har forstået.

Brug fx tmpwatch eller tmpreaper til at rydte op.

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Jens Rasmussen (17-11-2008)
Kommentar
Fra : Jens Rasmussen


Dato : 17-11-08 15:36

Hej
Hvordan kunne en evt. cron se ud til tmpwatch ?

Jens

"Klaus Alexander Seistrup" <klaus@seistrup.dk> skrev i meddelelsen
news:gfrcla$vb8$1@zdani.szn.dk...
> Jens Rasmussen skrev:
>
>> I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald
>> ikke et jeg har forstået.
>
> Brug fx tmpwatch eller tmpreaper til at rydte op.
>
> Mvh,
>
> --
> Klaus Alexander Seistrup
> http://klaus.seistrup.dk/
>


Klaus Alexander Seis~ (17-11-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 17-11-08 15:48

Jens Rasmussen skrev:

> Hvordan kunne en evt. cron se ud til tmpwatch ?

Hvad vil du selv foreslå, baseret på tmpwatch(1) og crontab(5)?

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Jørgen Heesche (17-11-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 17-11-08 11:38

Jens Rasmussen wrote:
> Hej
> I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald ikke et
> jeg har forstået.
> Det kan godt være at det ikke er smart at slette filerne hvert min. men
> så måske hver time.
> Det skal køre på en webserver jeg har sat op, så der er ikke nogen
> visuel brugerflade.
>

Så er det oplagt at installere tmpwatch.
Ved installationen bliver tmpwatch sat op til at køre i /etc/cron.daily
(ihvert fald i Mandriva), dvs. en gang hver dag.

--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Jesper Poulsen (17-11-2008)
Kommentar
Fra : Jesper Poulsen


Dato : 17-11-08 15:33

Jørgen Heesche wrote:

> Så er det oplagt at installere tmpwatch.

Det er en RH-ting. Under Debian-baserede distro'er anvender man tmpreaper


--
Mvh
Jesper Poulsen

Jens Rasmussen (17-11-2008)
Kommentar
Fra : Jens Rasmussen


Dato : 17-11-08 15:35

Jeg har installeret tmpwatch

Jens

"Jesper Poulsen" <nospam@ingensteder.dk> skrev i meddelelsen
news:49218088$0$56784$edfadb0f@dtext02.news.tele.dk...
> Jørgen Heesche wrote:
>
>> Så er det oplagt at installere tmpwatch.
>
> Det er en RH-ting. Under Debian-baserede distro'er anvender man tmpreaper
>
>
> --
> Mvh
> Jesper Poulsen
>


Lars Kongshøj (17-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 17-11-08 21:25

Jens Rasmussen wrote:
> I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald ikke et
> jeg har forstået.
> Det kan godt være at det ikke er smart at slette filerne hvert min. men
> så måske hver time.

Resume af hvad du har fået at vide: Det er ikke smart at tømme /tmp per
automatik. Det er i den forbindelse ligegyldigt hvor hyppigt det sker.

Hvilke filer er det du gerne vil fjerne? De opstår forhåbentligt ikke af
sig selv?

/Lars

Jørgen Heesche (17-11-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 17-11-08 22:26

Lars Kongshøj wrote:
> Jens Rasmussen wrote:
>> I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald ikke
>> et jeg har forstået.
>> Det kan godt være at det ikke er smart at slette filerne hvert min.
>> men så måske hver time.
>
> Resume af hvad du har fået at vide: Det er ikke smart at tømme /tmp per
> automatik. Det er i den forbindelse ligegyldigt hvor hyppigt det sker.
>
> Hvilke filer er det du gerne vil fjerne? De opstår forhåbentligt ikke af
> sig selv?
>
> /Lars
Det er rigtigt!. Man må ikke bare tømme /tmp, det vil helt sikkert få
nogle aktive jobs til at chrashe. Men det er i orden at slette filer,
der ikke har været åbnet i lang tid; og de må også gerne slettes
automatisk, f.eks. med tmpwatch i et cronjob.
Jeg har ikke følt behov for at sanere /tmp, men pga. denne diskussion
har jeg nu installeret i Mandriva installeret tmpwatch.
Tmpwatch køres fra cron en gang om dagen.
I /etc/cron.daily afvikles flg. script:
#!/bin/sh

[ -f /etc/sysconfig/tmpwatch ] && . /etc/sysconfig/tmpwatch

/usr/sbin/tmpwatch $TMPWATCH_EXCLUDES 10d /tmp

/usr/sbin/tmpwatch $TMPWATCH_EXCLUDES 30d /var/tmp

[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n

for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?,$LANG/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch -f 30d "$d"
fi
done

Filen /etc/sysconfig/tmpwatch har dette indhold:
# (oe) define files/directories/sockets tmpwatch should ignore (#18488)
TMPWATCH_EXCLUDES="-x /tmp/.ICE-unix -x /tmp/.X*-unix -x /tmp/.font-unix
-x /tmp/.Test-unix -x /tmp/jack-*"

Da tmpwatch er ganske ny for mig forstår jeg faktisk ikke helt hvad der
sker, men det ser ud til at filer generelt slettes, når de er 30 dage
gamle, men visse mapper eller filtyper slettes ikke.



--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Kim Emax (18-11-2008)
Kommentar
Fra : Kim Emax


Dato : 18-11-08 00:58

On Nov 17, 9:51 am, "Jens Rasmussen" <J...@elbaekhus.dk> wrote:
> Hej
> I må unskylde men jeg syntes ikke at jeg fik et svar, ihvertfald ikke et jeg
> har forstået.
> Det kan godt være at det ikke er smart at slette filerne hvert min. men så
> måske hver time.
> Det skal køre på en webserver jeg har sat op, så der er ikke nogen visuel
> brugerflade.

Vær opmærksom på at php default gemmer sessions i /tmp = de brugere,
der måtte være logget ind, igang med en indkøbsrutine eller på anden
måde bruger sessions vil få slettet alt info.

Vil du køre scriptet hver time på det 59. minut, så skriver du
således:

59 * * * * /path/to/script

Der er også en cron.hourly folder, hvor scripts, der ligger der køres
(jeg ved dog ikke om den er på alle systemer).

--
Mvh
Kim Emax

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408180
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste