defrag_pseudo.sh

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von hehejo, 21.05.2004.

  1. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Rein theoretisch:
    Würde das hier funktionieren? (von root ausgeführt)
    Code:
    #!/bin/bash
    # defrag_pseudo.sh
    # (Gut, unsere FSs fragmentieren nicht...)
    
    chmod 700 $1
    tar cjf /$1.tar.bz2 $1
    rm -rf $1
    tar xjf /$1.tar.bz2 .
    chmod 755 $1
    Sperren des Verzeichnisses für alle andern User
    Packen und in / abspeichern
    Löschen des Verzeichnisses
    und wieder entpacken
    Rechte vergeben.
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    besser waers, wenn du gleich die partition neu formatierst.

    etwa so:

    Code:
    tar cjf /$1.tar.bz2 $1
    umount $1
    newfs $(mount|grep $1|awk '{print $1}')
    mount $1
    tar xjf /$1.tar.bz2
    alternativ kannst du auch als zweiten parameter das device angeben:

    Code:
    #!/bin/sh
    mount -o remount,ro $1 # besser als die rechte zu aendern
    cd $1 && tar cjf /root/$1.tar.bz2 . # relativ zum dir und ins root verzeichnis
    cd /
    umount $1
    newfs $2 # parameter halt anpassen
    mount $1 # wird wieder schreibbar gemountet (aus fstab)
    cd $1 && tar xjf /root/$1.tar.bz2 # entpacken
    nur ein vorschlag...

    ach ja: auch linux FSs fragmentieren, zwar nicht so schlimm wie MS FSs, aber doch leicht.

    auf bald
    oenone
     
  4. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    An das readonly mounten hab ich gar nimmer gedacht.
    Wie kann ich eigentlich rausfinden wie stark mein fs fragmentiert ist?

    Ist newfs ein eigenes Programm oder etwas selbstgeschriebenes?
     
  5. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    newfs ist ein eigenes programm und erzeugt ein dateisystem.
    bei openbsd heisst es halt so. bei linux vllt. mke2fs, falls du ext2/3 hast, mkreiserfs falls du reiserfs hast, etc..

    die fragmentierung kannst du per fsck rausfinden..
    zumindest bei openbsd zeigt es das so an:
    Code:
    # fsck
    ** /dev/rsd0a (NO WRITE)
    ** Last Mounted on /
    ** Root file system
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    ** Phase 3 - Check Connectivity
    ** Phase 4 - Check Reference Counts
    ** Phase 5 - Check Cyl groups
    2162 files, 18614 used, 43969 free (305 frags, 5458 blocks, 0.5% fragmentation)
    etc.. fuer alle partitionen, oder die partition, die ich als parameter angebe.

    auf bald
    oenone
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

defrag_pseudo.sh