Meine Shellscripte (bashtools)

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von tuxlover, 17.12.2007.

  1. #1 tuxlover, 17.12.2007
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    Hey Folks,

    ich weiß das hatten wir ja schon. Aber dann kam der große Unfall und das Thema war weg.

    Naja ich möchte euch hier also zum zweiten mal meine Sammlung von Scripten vorstellen und hoffe ihr könnt etwas damit anfangen.
    Wenn ihr Fehler n einem der Scripte findet oder Vorschläge habt, wie man ein Script verbessern oder erweitern kann, dann poste doch bitte deine meinung dazu in diesem thread.

    greetz tuxlover
     

    Anhänge:

  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 18.12.2007
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    hi,

    da du um Meinungen gebeten hast, ich haette da die ein oder andere Anmerkung. Bitte als konstruktive Kritik verstehen und nicht als Angriff auf dich :) (vor allem das mit dem Englisch).

    Ahso, aber erstmal das positive Vorweg, prinzipiell gefaellt mir die Skript Sammlung schon ganz gut, vor allem das clearswap, wipefree und logusers find ich ganz interessant, werde ich bei Gelegenheit sicher mal genauer reinschauen.

    1. Ich frage mich, ob du die Kommentare nicht vielleicht lieber erst auf Deutsch geschrieben haettest, denn sie sind leider voller (sprachlicher) Fehler, groesstenteils aber nur grammatikalischer Natur. Hier und da bin ich mir aber auch nicht sicher, ob du tatsaechlich meinst was du geschrieben hast.
    Um ein Beispiel zu nennen:
    Sinngemaess heisst das etwa: Ideen wurden von Mendel Cooper zusammengetragen.
    Aber ich vermute dass du eher meintest: Inspiriert durch Ideen von Mendel Cooper.
    Aber vielleicht irre ich mich ja auch, und du meintest es wie du es geschrieben hast ;)

    2. Das "#!/bin/bash" steht bei dir nicht in der ersten Zeile, und wird dadurch nicht beachtet. Ich weiss nicht ob das Absicht ist, um den Benutzer des Skriptes dazu zu zwingen es vorher anzupassen, oder ob das nur ein Ausrutscher ist.

    3. Einige der Skripte sind nicht richtig formatiert (Einrueckung) und dadurch schwer zu lesen und anzupassen. Das kann natuerlich jeder User fuer sich machen, es waere aber natuerlich schon schoener wenn das ganze Package direkt richtig formatiert waere.

    mfg,
    bytepool
     
  4. #3 tuxlover, 18.12.2007
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hallo bytepool,

    ich bin dir für deine kritik sehr dankbar.

    1. Naja ich bin der englischen Grammatik nicht wirklich so mächtig. Dass ich die englische Sprach für die Komentare geält habe, hat mehrere Gründe. Zum einen der Faulheit wegen. Englisch kommt einfach mit weniger Wörtern und weniger längeren Wörtern aus. Zum anderen habe ich dir Erfahrung gemacht, dass deutsch in der bash manchmal Schwirigkeiten mit den Umlauten macht. Aber ich kann das ja nochmal überarebiten und ins Deutsche übertragen.

    2. An der Übersichtlichkeit versuche ich zu arbeiten. Ich dachte eigentlich ich würde bereits ein geiwsses Maß an Übersichtlichkeit erreichen, indem ich so viele Funktionen wie möglich benutze. Aber ich werde dass ganze gerne noch etwas leserlicher gestalten. Also mehr Einschübe in den if Bedingunen und in den Schleifen benutzen.

    3. Inspiriert wurde ich tatsächlich durch Mendel Cooper und sein abs. Aber ich habe auch viele Tricks und Fragmente von da übernommen und entsprechend angepasst. Teilweise sind die Scripte erweiteterte und überarbeitete Versionen aus dem genannen Werk. Deshalb dachte ich, dass ich den Autor gebührend erwähnen sollte.

    4. Das man den Sha Bang grundsätzlich am Anfang schreiben muss, wusste ich nicht. Werde das sobald wie möglich korrigieren.

    vielen dank für deine konstruktive kritik

    liebe grüße tuxlover
     
  5. #4 gropiuskalle, 18.12.2007
    Zuletzt bearbeitet: 18.12.2007
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    Auf deutsch würde ich skripte nicht kommentieren, denn man weiß ja nie, wie die irgendwann die Runde machen, und wir wollen ja auch keine Kommentare auf meinetwegen Kiswahili lesen, nicht wahr? Bitte doch einfach jemanden mit stabileren Englisch-Kenntnissen, dir das zu übersetzen. Ich helfe Dir gerne.

    Ich finde die Ideen Deiner bashtools z.T. sehr gelungen, eine Frage hätte ich aber zu clearswap: und zwar landen Daten doch eigentlich nicht umsonst im swap und diese Daten sollen doch auch irgendwann wieder abgearbeitet werden. Ein Teil eines swaps mag umsonst dort herumlungern (ganz schlimm ist das bei mir z.B. nach einer Google Earth-session, der veranschlagt nach 'ner halben Stunde 200 bis 300 MB, die im swap festkleben), andererseits könnten Teile von ausgelagerten Operationen / Prozessen / wasweißich auch durchaus noch benötigt werden (und i.d.R. baut sich ein swap bei mir nach 'ner Weile von alleine ab). Kann ein clearswap (erst recht wie von Dir im README vorgeschlagen als cronjob eingerichtet) nicht problematisch werden?

    Ansonsten würde ich gerade diese Funktion schon sehr gerne nutzen. Trau mich nur nicht. :)
     
  6. #5 tuxlover, 18.12.2007
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hi gropiuskalle,

    danke für deine positive Rückantwort.

    Ich müsste das Readme sowieso komplett überarbeiten.
    Meine Englischkenntnisse beschränen sich tatsächlich auf das Verstehen. Leider hatte ich in der Schule ein total verkorksten Englischuntericht, so dass ich das erst jetzt dadurch lerne, indem ich Bücher auf englisch lese oder mir orignalsprachige Filme anschaue.
    Für deine Hilfe bin ich dir natürlich sehr dankbar. Wenn du schonmal die gröbsten Fehler korrigieren könntest und die korrigierte Version hier posten würdest, wäre das eine große Hilfe.

    Zu deiner Frage:
    Eigentlich sollte das Script keine größeren Probleme machen, wenn du es ausführst. So ganz sicher bin ich mir da nur nicht bei der Verwendung als Cron Job, da ich es bei mir noch nicht ausprobiert habe. Das Script legt mittels dd eine Kopie der aktuellen Swp an, und benutzt diese dann während der Aufräumarbeiten. Was allerdings passiert, wenn dieser Job unerwartet beendet wird, habe ich noch nicht probiert. Natürlich solltest du es nicht so einrichten, dass es alle 10 Minuten losrödelt, weil du dann nicht mehr zum arbeiten kommst. Das Script ist leider recht Resourcenhungrig.
    Um ehrlich war das nur so ne Idee. Ich werde es wahrscheinlich wieder entfernen.

    Vielleicht weiß einer wie man das optimieren kann

    so weit und vielen dank

    freundliche grüße tuxlover
     
  7. #6 gropiuskalle, 18.12.2007
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    Also zumindest ist Dir die Grundproblematik bewusst, vielleicht folgt hier ja noch ein Kommentar zu dieser Frage von jemandem, der sich auskennt - denn als Kommando wäre das manchmal schon ausgesprochen nützlich. Solange der swap regulär abgebaut wird, brauch man ihn auch nicht löschen (in Arbeit befindliche Auslagerungen laufender oder erst kürzlich beendeter Prozesse mindern bei mir die Performance kaum bis garnicht), aber es gibt nun mal wirklich dieses Problem, dass ein ewig zugemüllter swap das Sys verlangsamt. Die Idee an sich würde ich nicht ad acta legen, aber genauer nachprüfen, was da eigentlich geschieht (nämlich sowohl beim de-swappen als auch beim swappen selbst).

    Mach ich gerne, allerdings poste ich das direkt an Dich, wenn Du nichts dagegen hast, zumal ja das README etwas umfangreicher ist und eventuell auch noch Rückfragen notwendig sind, damit ich nicht was falsches schreibe. Ich fange heute oder morgen damit an (*plan*) und halte Dich auf dem Laufenden, sollte aber nicht allzu lange dauern.
     
  8. #7 Wolfgang, 18.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Wenn du wirklich die Swap leeren wisst, dann tust du das doch ohnehin nur, wenn sie nicht mehr gebraucht wird. ( Nur gecachte daten liegen darin).
    Im Grunde genommen ist das dann aber nicht nötig.
    Die Speicherverwaltung von Linux handelt das sehr zuverlässig.
    Gecachte Daten, die nicht gebraucht werden, bremsen auch nichts aus.
    Sowie die swap benötigt wird, fliegen diese Daten ohnehin raus -> wenn der Platz nicht reicht.

    Um die Nutzung der Swap mal ganz auszusetzen, genügt ein swapoff mit anschließendem swapon.

    BTW Ich habe mir das Script nicht angesehen, wollte nur generell zum Swap etwas sagen.

    Eine Swap per Cronjob zu leeren halte ich für riskant.
    Ich habe z. B. zwei kleinere Swap eingerichtet, die auf zwei verschiedenen HDD liegen.
    Die höhere Priorität hat diejenge, welche nicht auf der HD liegt wo das System werkelt. So lässt sich auch mal eine Aushängen, ohne dem System den Boden wegzuziehen.
    Danach die Andere und alles ist leer.

    Komme allerdings sehr selten in den Swap.
    Es sei denn, ich sortiere mal wieder Gigabyte Arrays. ;)

    Nur so als Anmerkung von mir.

    Gruß Wolfgang
     
  9. #8 tuxlover, 18.12.2007
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hallo wolfgang,

    genau das macht das script. nur musste ich irgendwie umgehen, dass eine zugemüllte swap nicht ausgehängt werden kann. daher benutzt das script dd und fertigt eine kopie der aktuellen swap an die dann temporär eingehängt wird und anschließend ausgehängt und wieder gelöscht wird.

    @gropiuskalle schick mir einfach ne pm. nicht die email-adresse nehmen, die ich dir mal gegeben habe. da habe ich das password nicht mehr.

    greetz tuxlover
     
  10. #9 Wolfgang, 18.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Dann würde ich das einfach als alias definieren, und im Fall der Fälle selbst starten.
    Wobei das Gesagte über den Sinn trotzdem beachtenswert ist.
    ;)
    Was es bringen soll, ist mir nicht klar.
    Ist wohl mehr Kosmetik der Ausgabe von free oder Top.

    Wenn du wirklich Skripte veröffentlichen willst, ist ja eventuell dieses Template eine gute Orientierung für den Stil.

    Gruß Wolfgang
     
  11. #10 gropiuskalle, 18.12.2007
    Zuletzt bearbeitet: 18.12.2007
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    Okay, ist vermerkt.

    Letzteres kann ich mit einem GB swap schlecht nachprüfen, denn komplett voll wird der nie (ist ja auch eigentlich viel zu groß), dass aber ein mit 30 oder 40% belegter swap das Sys grundsätzlich nicht ausbremst, kann ich nicht betätigen. Wie gesagt, wenn ich 'ne Weile mit Google Earth herumfliege, ist mein swap danach wenigstens mit 200MB belastet, und das verschwindet auch nach 'ner Stunde nicht, sondern lässt die Ansprechbarkeit des Systems auch nach Beenden von GE sehr zäh wirken - im Gegensatz zu Auslagerungen, die z.B. Gimp tätigt, die werden tatsächlich sehr zuverlässig beseitigt (und sind auch lange nicht so wuchtig, selbst wenn ich fünf Gimp-Fenster auf habe). Die problematische Handhabe ergibt sich jedoch nicht nur mit Google Earth, sondern z.B. mit sehr intensiv genutzten Firefoxen (>5 tabs über mehrere Stunden plus Java / Flash-Anwendungen etc.), glücklicherweise nicht allzu regelmäßig, manchmal aber eben doch - und deswegen halte ich cleanswap für mehr als Kosmetik.

    Ich stelle mir aber immer noch die grundsätzliche Frage: kann man einen derart aufgefüllten swap in einer laufenden Sitzung löschen, ohne befürchten zu müssen, dass da noch benötigte Auslagerungen drunter sind? Wenn ein cronjob-deswapping theoretisch riskant ist, ist es ein händisches doch ebenso, denn wer weiß, was neben dem offensichtlichen Klötzen noch so ausgelagert wurde, das lässt sich ja nicht voneinander differenzieren.
     
  12. #11 tuxlover, 21.01.2008
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    bashtools 0.4.3 ist da!

    So das ganze WE an der neuen version geschraubt und einige Verbesserungen und Fehlerkorrekturen an den Skripten vorgenommen, wobei ich besonders an die Kritik angeknüpft habe, dass die Skripte teilweise zu unlserlich waren. Aber auch das kann man bestimmt noch besser machen.

    Dank Gropiuskalle wurden auch einige Englischfehler korrigiert, aber es sind bestimmt wieder welche hinzugekommen. ;)

    Außerdem gibts jetzt endlich die versprochenen rpm und debs und die instabile version des ganzen. leider kann ich sie irgendwie nicht hochladen.

    hmm @gropiuskalle ich schick dir die dinger mal per mail. kannst du sie dann hochladen?
     
  13. #12 gropiuskalle, 21.01.2008
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    Hier sind sie.

    Ich schau auch noch mal nach den Kommentaren und so (und testen sollte ich die Dinger auch mal...).
     

    Anhänge:

  14. #13 tuxlover, 21.01.2008
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    jo danke,

    kannst dann die mit dem verbssertem english hier hochladen.

    thx und grüße

    tuxlover
     
  15. Anzeige

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

    niLs òle òle

    Dabei seit:
    10.06.2004
    Beiträge:
    153
    Zustimmungen:
    0
    Ort:
    Hannover
    Ich habe in deinen Scripten noch einen meiner Meinung nach großen Fehler gesehen.
    Die Abfrage nach root-Rechten:

    Code:
    #checking for root
    root_check ()
    {
    echo "Checking whether you have root privilegs."
    if [ $USER != "root" ]
    then
    echo "Not Root"
    drop_failure
    exit $NOT_ROOT
    else
    drop_ok
    fi
    }
    
    Ich würde lieber nach der UID abfragen, denn $USER kann auch != root sein.

    Code:
    root@yoda:~# echo $USER
    nils
    root@yoda:~# id -u
    0
    
    Ich für meinen Teil nutze den "root"-User garnicht, sondern lege für jeden, der root-Rechte hat, einen eigenen Benutzer an (useradd -u 0 -o -g 0 -d /root/<user> -m <user>). Damit lässt sich später auch ein wenig mehr nachvollziehen.

    Gruß Nils
     
  17. #15 tuxlover, 21.01.2008
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    ja gut der unterschied ist mir nicht bewusst gewesen. werde das auf jeden fall berücksichtigen. das wäre dann ja noch einfacher, da man ja dann enfach $UID verwenden kann.

    vielen dank für den hinweis

    gruß tuxlover
     
Thema:

Meine Shellscripte (bashtools)

Die Seite wird geladen...

Meine Shellscripte (bashtools) - Ähnliche Themen

  1. Kann meine Bandbreite nicht nutzen

    Kann meine Bandbreite nicht nutzen: Ich habe kürzlich mein Telekom-Anschluß von 2 auf 50 (Glasfaser) MBit/sec umgestellt. Mit dem Ziel Livestreams sehen zu können. Aber jetzt sehe...
  2. Warum wird meine Antwort von den Moderatoren nicht freigegeben

    Warum wird meine Antwort von den Moderatoren nicht freigegeben: Hallo, ich habe am 02.08. im Unterforum Shell-Skripte den Beitrag "Kurzzusammenfassung der Befehle und Progr. für die shell" erstellt....
  3. Ist es sinnvol mich mit meinen Kenntnissen auf diese Stelle zu bewerben?

    Ist es sinnvol mich mit meinen Kenntnissen auf diese Stelle zu bewerben?: [...] Frage beantwortet...
  4. Umfrage in Vorbereitung auf meine Masterarbeit

    Umfrage in Vorbereitung auf meine Masterarbeit: Hallo Ihr Lieben, mein Studium neigt sich dem Ende zu, und meine Masterarbeit steht ins Haus. In Vorbereitung dazu führe ich eine Befragung...
  5. Samba von Win7 "nervt" meinen (Linux-)Server

    Samba von Win7 "nervt" meinen (Linux-)Server: [ATTACH] So geht das ununterbrochen. Ich hab keine Ahnung warum aber mein NAS kann einfach nichtmehr in den Standbymodus.. Ich hab schon immer...