|
| Overvåge størrelsen af en fil Fra : Mads Bondo Dydensbor~ |
Dato : 06-01-06 20:04 |
|
Hej
Findes der et lille util der overvåger størrelsen af en fil og sender mig en
mail, hvis den når over en hvis størrelse?
(Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget selv
lige nu
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
United States Patent 6,368,227:
A method of swing on a swing is disclosed, in which a user positioned on a
standard swing suspended by two chains from a substantially horizontal tree
branch induces side to side motion by pulling alternately on one chain and
then the other.
-- This is not a joke - go look it up.
| |
Kristian Vilmann (06-01-2006)
| Kommentar Fra : Kristian Vilmann |
Dato : 06-01-06 21:22 |
|
Mads Bondo Dydensborg wrote:
> Hej
>
> Findes der et lille util der overvåger størrelsen af en fil og sender mig en
> mail, hvis den når over en hvis størrelse?
>
> (Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget selv
> lige nu
Tripwire kan vel, men det er måske lidt overkill....
/k
| |
Mads Bondo Dydensbor~ (07-01-2006)
| Kommentar Fra : Mads Bondo Dydensbor~ |
Dato : 07-01-06 00:16 |
|
Kristian Vilmann wrote:
> Mads Bondo Dydensborg wrote:
>> Hej
>>
>> Findes der et lille util der overvåger størrelsen af en fil og sender mig
>> en mail, hvis den når over en hvis størrelse?
>>
>> (Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget
>> selv lige nu
>
> Tripwire kan vel, men det er måske lidt overkill....
Jow... det ville jeg nok mene
Anyway, jeg har kombineret Thomas og Michaels forslag:
#!/bin/bash
set -e
MAILADDR=
MAXSIZE=
FILE=
CURSIZE=$(du -m $FILE | cut -f1)
if [ $CURSIZE -gt $MAXSIZE ] ; then
echo -e "Max size: $MAXSIZE\nCur size: $CURSIZE\n" | mail \
-s "File $FILENAME has excided limit!" $MAILADDR
fi
Tak til alle.
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
I find the whole business of religion profoundly interesting. But it
does mystify me that otherwise intelligent people take it seriously.
- Douglas Adams
| |
Mads Bondo Dydensbor~ (07-01-2006)
| Kommentar Fra : Mads Bondo Dydensbor~ |
Dato : 07-01-06 00:27 |
|
Mads Bondo Dydensborg wrote:
> Kristian Vilmann wrote:
>
>> Mads Bondo Dydensborg wrote:
>>> Hej
>>>
>>> Findes der et lille util der overvåger størrelsen af en fil og sender
>>> mig en mail, hvis den når over en hvis størrelse?
>>>
>>> (Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget
>>> selv lige nu
>>
>> Tripwire kan vel, men det er måske lidt overkill....
>
> Jow... det ville jeg nok mene
>
> Anyway, jeg har kombineret Thomas og Michaels forslag:
Og introduceret en bug. Flot, flot...
>
> #!/bin/bash
>
> set -e
>
> MAILADDR=
> MAXSIZE=
> FILE=
FILENAME
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
You may not use the Software in connection with any site that disparages
Microsoft, MSN, MSNBC, Expedia, or their products or services, infringe any
intellectual property or other rights of these parties, violate any state,
federal or international law, or promote racism, hatred or pornography.
- Part of MS Frontpage 2002 EULA
| |
Mads Bondo Dydensbor~ (07-01-2006)
| Kommentar Fra : Mads Bondo Dydensbor~ |
Dato : 07-01-06 00:33 |
|
Mads Bondo Dydensborg wrote:
> Mads Bondo Dydensborg wrote:
>
>> Kristian Vilmann wrote:
>>
>>> Mads Bondo Dydensborg wrote:
>>>> Hej
>>>>
>>>> Findes der et lille util der overvåger størrelsen af en fil og sender
>>>> mig en mail, hvis den når over en hvis størrelse?
>>>>
>>>> (Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget
>>>> selv lige nu
>>>
>>> Tripwire kan vel, men det er måske lidt overkill....
>>
>> Jow... det ville jeg nok mene
>>
>> Anyway, jeg har kombineret Thomas og Michaels forslag:
>
> Og introduceret en bug. Flot, flot...
>
>>
>> #!/bin/bash
>>
>> set -e
>>
>> MAILADDR=
>> MAXSIZE=
>> FILE=
> FILENAME
Som så også skal kaldes i du... argh, forkert tidspunkt at lave den slags
på. Anyway, her kommer den så. Altid flere linier end man håber på, man
skal jo også sætte et flag, så man ikke få en milliard mails (formattering
lidt knækket):
#!/bin/sh
set -e
MAILADDR=
MAXSIZE=
FILENAME=
FLAG=$HOME/.check_file_size
if [ -e "$FLAG" ] ; then
exit 0
fi
CURSIZE=$(du -m $FILENAME | cut -f1)
if [ $CURSIZE -gt $MAXSIZE ] ; then
touch $FLAG
echo -e "Max size: $MAXSIZE MB\nCurrrent size: $CURSIZE MB\n\nFlag
($FLAG) created, remember to remove it" |\
mail -s "File $FILENAME has exceeded limit!" $MAILADDR
fi
godnat
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
The Bible tells us to be like God, and then on page after page it describes
God as a mass murderer. This may be the single most important key to the
political behavior of Western Civilization.
- Robert A. Wilson (Right Where You Are Sitting Now)
| |
Thomas Rasmussen (06-01-2006)
| Kommentar Fra : Thomas Rasmussen |
Dato : 06-01-06 21:28 |
|
Mads Bondo Dydensborg wrote:
> Hej
>
> Findes der et lille util der overvåger størrelsen af en fil og sender mig en
> mail, hvis den når over en hvis størrelse?
>
> (Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget selv
> lige nu
Ahr, du skal da lige være lidt opfindsom... Der findes sikkert bedre
måder, men det her var lige hvad jeg kunne komme på
MAXSIZE skal være i bytes, eller hvis du kobler -k på SIZE kommandoen
kan den være i kb, men så skal der måske lige laves noget behandling af
output fra du.
#!/bin/sh
MAXSIZE="2048"
FILE="$HOME/myfile"
SIZE=`du $FILE|awk {'print $1'}`
if [ "$SIZE" -gt "$MAXSIZE" ] ; then
do_your_mail_stuff
fi
Dette smides i et script der sættes til at køre via cron når det passer
dig. Ingen grund til at lave det stort og fancy.
Thomas
| |
Michael Rasmussen (06-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 06-01-06 22:02 |
|
On Fri, 06 Jan 2006 20:03:44 +0100, Mads Bondo Dydensborg wrote:
>
> (Kunne ikke lige finde noget på Google, og gider ikke cron-perle noget selv
> lige nu
Hvorfor bruge perl, når man kan lave det med sh?
#!/bin/sh
set -e
MAILADDR=
FILENAME=
MAXSIZE=
CURSIZE=$(ls -l "$FILENAME" | cut -d' ' -f5)
if [ $CURSIZE -gt $MAXSIZE ]; then
echo -e "Max size: $MAXSIZE\nCur size: $CURSIZE\n" | mail \
-s "File $FILENAME has excided limit!" $MAILADDR
fi
exit 0
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Peter Jensen (07-01-2006)
| Kommentar Fra : Peter Jensen |
Dato : 07-01-06 01:01 |
|
Michael Rasmussen wrote:
> CURSIZE=$(ls -l "$FILENAME" | cut -d' ' -f5)
Forkert field når jeg tester det på mit system. Hvad er der forresten i
vejen med 'stat -c%s'?
--
PeKaJe
Always code as if the guy who ends up maintaining your code will be a
violent psychopath who knows where you live. -- Martin Golding
| |
Michael Rasmussen (07-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 07-01-06 01:23 |
| | |
Peter Jensen (07-01-2006)
| Kommentar Fra : Peter Jensen |
Dato : 07-01-06 17:26 |
|
Michael Rasmussen wrote:
>> Forkert field når jeg tester det på mit system. Hvad er der
>> forresten i vejen med 'stat -c%s'?
>
> Hvilket system tester du på?
Gentoo Linux (x86). At bruge ' ' som delimiter til cut forudsætter at
der er lige mange mellemrum mellem felterne i "ls -l" outputtet, hvilket
langt fra er garanteret. Noget andet er så at ikke alle Unix systemer
har 'stat' kommandoen installeret (f.eks. har jeg set kommandoen mangle
på nogle SunOS systemer, men generelt burde GNU kompatible systemer have
den). Et alternativ kunne være 'wc -c filnavn', men afhængig af
implementation kan performance være suboptimal for hyppig brug.
--
PeKaJe
Sit back and watch the messages. This is actually more important than one
might think as there is a bug in GNU Mach whereby hitting a key during the
boot process causes the kernel to panic -- GNU Hurd Installation Guide
| |
Michael Rasmussen (07-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 07-01-06 18:04 |
|
On Sat, 07 Jan 2006 16:26:27 +0000, Peter Jensen wrote:
>
> Gentoo Linux (x86). At bruge ' ' som delimiter til cut forudsætter at
> der er lige mange mellemrum mellem felterne i "ls -l" outputtet, hvilket
> langt fra er garanteret. Noget andet er så at ikke alle Unix systemer
Det tror jeg nu ikke du har ret i. cut vil blot søge videre til næste
tegn/sekvens, der ikke er lig med delimiter.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Klaus Ellegaard (07-01-2006)
| Kommentar Fra : Klaus Ellegaard |
Dato : 07-01-06 18:22 |
|
Michael Rasmussen <mir@miras.org> writes:
>> der er lige mange mellemrum mellem felterne i "ls -l" outputtet, hvilket
>> langt fra er garanteret. Noget andet er så at ikke alle Unix systemer
>Det tror jeg nu ikke du har ret i. cut vil blot søge videre til næste
>tegn/sekvens, der ikke er lig med delimiter.
Nope.
$ echo "1-2-3-4-5" | cut -d- -f3
3
$ echo "1--2--3--4--5" | cut -d- -f3
2
$ echo "1---2---3---4---5" | cut -d- -f3
(blank fordi der ikke står noget i felt 3)
Mvh.
Klaus.
| |
Kent Friis (07-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 07-01-06 18:25 |
|
Den Sat, 07 Jan 2006 18:03:31 +0100 skrev Michael Rasmussen:
> On Sat, 07 Jan 2006 16:26:27 +0000, Peter Jensen wrote:
>
>>
>> Gentoo Linux (x86). At bruge ' ' som delimiter til cut forudsætter at
>> der er lige mange mellemrum mellem felterne i "ls -l" outputtet, hvilket
>> langt fra er garanteret. Noget andet er så at ikke alle Unix systemer
> Det tror jeg nu ikke du har ret i. cut vil blot søge videre til næste
> tegn/sekvens, der ikke er lig med delimiter.
Hvis du mener at cut -d' ' er ligeglad med om der står "a b" eller
"a b", så tager du fejl. Det virker præcist ligesom med
cut -d: og der kan vi jo lige tage passwd-filen som eksempel:
root:x:0:0:root
root::0:0:root
cut -d: -f2 vil her give "x" og "", IKKE "0". Det samme ved flere
mellemrum efter hinanden.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Peter Jensen (08-01-2006)
| Kommentar Fra : Peter Jensen |
Dato : 08-01-06 17:25 |
|
Michael Rasmussen wrote:
>> Gentoo Linux (x86). At bruge ' ' som delimiter til cut forudsætter
>> at der er lige mange mellemrum mellem felterne i "ls -l" outputtet,
>> hvilket langt fra er garanteret.
>
> Det tror jeg nu ikke du har ret i. cut vil blot søge videre til næste
> tegn/sekvens, der ikke er lig med delimiter.
Baserer du din udtalelse på et praktisk forsøg, eller er det bare noget
du tror? Jeg har testet på Gentoo, Debian, og SunOS maskiner, og alle
opfører sig som jeg har beskrevet.
--
PeKaJe
For those who like this sort of thing, this is the sort of thing they like.
-- Abraham Lincoln
| |
Peter Mogensen (07-01-2006)
| Kommentar Fra : Peter Mogensen |
Dato : 07-01-06 23:50 |
|
Mads Bondo Dydensborg wrote:
> Hej
>
> Findes der et lille util der overvåger størrelsen af en fil og sender mig en
> mail, hvis den når over en hvis størrelse?
Linux har fam(3),famd(8). Jeg ved ikke om det kan scriptes. Det kunne
det tilsvarende under BeOS.
Peter
| |
|
|