bash-götter: überprüfung quelldateisystem != zieldateisystem?

starbuxx

starbuxx

Aktives Mitglied
Thread Starter
Dabei seit
13.04.2003
Beiträge
1.454
Reaktionspunkte
8
#!/bin/bash: wie festellen, auf welchem fs datei liegt?

gruess euch,

hintergrund:
ein skript läuft stündlich (liegt in /etc/rc.d/cron.hourly) und kuckt, ob in einem verzeichniss neue dateien liegen. wenn ja, verschiebt es sie an einen anderen ort.

problem:
man weiss nicht, ob auf dem ziel-filesystem genug platz ist. muss man auch nicht, wenn das quell- und ziel-filesystem das gleiche sind (man brauch praktisch keinen platz für die aktion).
ist das ziel-filesystem ein anderes, ist es wichtig, zu prüfen, ob genug speicherplatz auf dem zieldateisystem zur verfügung steht, um die dateien dorthin zu verschieben.

bis jetzt mach ich das so

#!/bin/bash
#
# ein skript das kuckt, ob das zieldateisystem
# das gleiche ist wie das quelldateisystem
#
# begin

# ein paar variablen


SOURCE_DIR='/var/log'
TARGET_DIR='/tmp'


# Quell-Dateisystem feststellen mittels missbrauchung von 'df':

SOURCE_FS=`df $SOURCE_DIR | grep -v -e 'Filesystem' | awk '{ print substr($1,0) }'`


# Das gleiche Spiel fürs Zieldateisystem:

TARGET_FS=`df $TARGET_DIR | grep -v -e 'Filesystem' | awk '{ print substr($1,0) }'`


# Vergleichen + entsprechend reagieren

if [ $SOURCE_FS != $TARGET_FS ]; then

echo ungleich

else

echo gleich

fi

meine frage:
geht das nicht einfacher? ich mein' damit jetzt nicht, den conditional soweit aufzublasen, bis er in eine zeile passt ;)

mit dem statement '-ef' kann man in einem if-test ja feststellen, ob zwei dateien den gleichen iNode _und_ das gleiche filesystem haben. in meinem fall wird das mit dem gleichen iNode aber nie vorkommen (es sei denn, jemand gibt als ziel- und quell-verzeichniss das gleiche an)

falls jemand weiss, wie das eleganter geht, freu ich mich ueber jeden tip.

sha-bang,
sbx

edit: jetzt hab ich schon den titel geändert. auch wenn bash nicht schön ist: icehouse, hairfeti, maceis, .woulion, wo seid ihr denn?
 
Zuletzt bearbeitet:
*schubs*

bash-goetter, wo seid ihr?

:confused:

liebe gruesse,
sbx
 
Zurück
Oben Unten