URL: https://www.overclockers.at/linux/kleine_shellscript-fundgrube_155038/page_3 - zur Vollversion wechseln!
Bezüglich "make install": Nachdem ich bisher auch immer nur mit make gearbeitet habe, bin ich jetzt natürlich verwirrt 
Lukas' Methode wird in diesem Guide http://www.gentoo.org/doc/en/kernel...e.xml#doc_chap5 (Listing 5.4) und diesem Handbuch-Draft http://www.gentoo.org/doc/en/handbo...rt=2&chap=6 verwendet.
Der Thread ist aber jedenfalls ***** wert.
Zitat von jivesBezüglich "make install": Nachdem ich bisher auch immer nur mit make gearbeitet habe, bin ich jetzt natürlich verwirrt
Lukas' Methode wird in diesem Guide http://www.gentoo.org/doc/en/kernel...e.xml#doc_chap5 (Listing 5.4) und diesem Handbuch-Draft http://www.gentoo.org/doc/en/handbo...rt=2&chap=6 verwendet.
Der Thread ist aber jedenfalls ***** wert.

absbuild
Dieser kleine helfer ermoeglicht eine rasche paketerstellung (und installation) von PKGBUILDs für Archlinux aus dem ABS baum.
Man übergibt dem script den pfad zum abs baum, einen temporaeren speicherort für die .pkg.tar.gz dateien und zu einer Datei, die alle zu bauenden paketnamen beinhaltet. Das script baut diese und bei bedarf werden sie gleich alle mit pacman installiert. Für die Datei, in der die Paketnamen enthalten sind gibt es eine "syntax". In der ersten Zeile muss der name eines repos stehen, welches ist egal, allerdings muessen alle darauf folgenden zeilen paketnamen enthalten, die in diesem repo zu finden sind. Sobald man ein neues repo angibt werden die danach folgenden paketnamen in diesem repo gesucht. Siehe anhang base.pkgs. Wenn man ein paket nicht bauen will es aber nicht aus der liste loeschen will, schreibt man einfach ein "!" vor den paketnamen.
Die angehaengte baut ein (fast) komplettes arch base system (mit devel paketen).
Einer der Beweggruende fuer dieses skript war, dass ich mein basis system mit gewissen g++ flags bauen wollte um optimierungen fuer meinen Athlon64(X2) "freizuschalten"
e: command usage:
Code:./absbuild.sh [-a /path/to/abs] [-p /path/to/tmp/pkgdir] [-f /path/to/pkgsfile] [-yin]
kann den thread bitte ein mod/admin sticky machen, hab ihn neulich auch gesucht.
Lukas: nettes script, gefällt
Gibt's (bzw. gab's glaub ich sogar hier) schon oefters, aber ich hab mich auch mal an ein Kernel-Update-Script gesetzt - vielleicht interessant fuer alle, die sich ihren Kernel selbst bauen.
update-kernel.sh
das Script ist ja offensichtlich mit einem Fokus auf Gentoo geschrieben. Wieso also nicht mit genkernel?
Weil ich genkernel nicht installiert habe. 
das ginge ganz leicht mit
Code:emerge genkernel

wird zwar nur für die allerwenigsten Interessant sein aber trotzdem.
Hab mir ein kleines Script geschrieben welches die qmail-queue bereinigt. Wir haben hier z.B öfters dass Problem dass Kunden über unseren Server spammen (dank smtp-auth kommen die von überall, also ip-based block bringt nichts)
Code:#!/bin/bash rm /root/listeanonym qmail-qread | grep -B 1 spamempfaenger | sed -n '/#/p' | cut -d " " -f 7 | sed 's/#//g' >> /root/listeanonym for i in `cat /root/listeanonym` do qmHandle -d$i done
Um diesen Thread mal wieder aufzuwärmen:
Ich (als blutiger Shellscript-Anfänger, also nicht meckern wenn was nicht perfekt gelöst ist) hab mir mal ein kleines Script gebastelt, das mir eine virtuelle Maschine unter VMWare Server 2.0, in diesem Fall meinen Mailserver, kurz in Suspend schickt, das Verzeichnis auf mein RAID5 schiebt, die VM wieder startet und das kopierte Verzeichnis dann mit bzip2 verpackt.
Es werden immer zwei Backups vorgehalten, so dass nix verloren geht, wenn bei dem ganzen Vorgang mal was in die Grütze geht...
Rudimentären Output gibt's auch, damit man in etwa weiß was das Teil grad tut. Kann man auch weglassen, wenn man das Viech per cronjob laufen lässt...
Sicher nicht besonders professionell gelöst, ich könnte mir z.B. noch vorstellen das Script so anzupassen, dass man die Pfade der Maschine und des Backup-Verzeichnisses beliebig anpassen kann, dass ein Logfile geschrieben wird, dass eine Mailbenachrichtigung rausgeschickt wird, die z.B. auch die Größe des erstellten Archivs enthält, usw. usf...
Für's erste wirds diese Version erstmal tun, ist halt ziemlich unsauber innerhalb von 30min zusammengedengelt...
Vielleicht findet's ja irgendwer nützlich 
Code:#!/bin/bash # Suspend the virtual machine echo 'Suspending virtual machine...' vmrun -T localhost -h https://localhost:8333/sdk -u myusername -p mypassword suspend "[standard] srv-mail/srv-mail.vmx" # Copy virtual machine directory to RAID array echo 'Copying virtual machine directory...' cp -R /data/vmware/srv-mail/ /mnt/md1/VMBackups/ # Bring the virtual machine back up echo 'Starting virtual machine...' vmrun -T localhost -h https://localhost:8333/sdk -u myusername -p mypassword start "[standard] srv-mail/srv-mail.vmx" # Check whether last backup file exists. if [ -f /mnt/md1/VMBackups/srv-mail.tar.bz2 ]; then echo 'Previous backup file exists.' # If it exists, check, whether last but one backup file exists. if [ -f /mnt/md1/VMBackups/srv-mail.bak.tar.bz2 ]; then # Remove last but one backup file echo 'Last but one backup file exists - removing.' rm /mnt/md1/VMBackups/srv-mail.bak.tar.bz2 fi # Rename last backup file echo 'Renaming previous backup file.' mv /mnt/md1/VMBackups/srv-mail.tar.bz2 /mnt/md1/VMBackups/srv-mail.bak.tar.bz2 fi # Compress the virtual machine directory into a .tar.bz2 archive echo 'Compressing virtual machine directory... this may take a long time.' tar -jcf /mnt/md1/VMBackups/srv-mail.tar.bz2 /mnt/md1/VMBackups/srv-mail # Remove virtual machine directory from RAID array echo 'Removing virtual machine directory after compression...' rm -rf /mnt/md1/VMBackups/srv-mail/ echo 'Backup of virtual machine finished.'

Ich hab dir das URL-Tagging wegoperiert. 
thx!Zitat von COLOSSUSIch hab dir das URL-Tagging wegoperiert.

flac2mp3
Ein kleines Script, das flacs ueber ein dazugehoeriges cuesheet in mp3s umwandelt.
Als Ausgangsbasis dient bei mir immer ein Verzeichnis, in dem sich alle flacs und das cuesheet befinden (genau so, wie es aus rubyripper rauskommt). Die Daten fuer den ID3v2 Tag kommen alle aus dem cuesheet.
http://users.fh-salzburg.ac.at/~gpanholz/shellscripts/
functions.sh verwende ich in allen meinen Scripten zum formatieren von Ausgaben. Wer das nicht will, muss nur begin/end in den Zeilen 42, 60 und 75 durch eine einfaches echo ersetzen und die Zeile 72 loeschen.
Beide Dateien liegen bei mir in ~/bin, in flac2mp3 Zeile 10 verwende ich auch ein "source ~/bin/functions.sh". Das muss natuerlich angepasst werden.
sha256sums
Code:a489dd52b9cd8e4772d04ade21e8573639fd77ff4960891c7c4228ed79391d17 flac2mp3 cb846a599ec1a69e372ed6c4c64afedfa3ff59938e154610149f223b2d9f8556 functions.sh
Nettes Script! 
Falls du den "Stil" deiner Scripts noch verbessern und ihrem Code fast schon glamouroese Eleganz einhauchen willst (
), dann solltest du:


toller thread
beginne soeben mir shellscriptkenntnisse anzueignen.
ich hab mir mal ein kleines script gebastelt für den fall das mehrere user eingeloggt sind und ich alle auf einen schlag loswerden will
Code:#!/bin/bash echo 'Welcher User soll ausgeloggt werden?' read antwort # if [ "$antwort" = "ich" ] then leiche=$(whoami) else leiche=$antwort fi echo $leiche #damit man nochmal sieht wer sich jetzt verabschiedet hat sleep 1 # for user1 in $(who | grep $leiche |awk '{print $2}') do for pid1 in $(ps -ef | grep $user1 |grep -v grep |grep -v @ | awk '{print $2}') do kill -9 $pid1 done done
das script wird minütlich als crontabjob ausgeführt. wenn viel los ist wird das log-file am Tag ca. 6MB groß. mit logrotate hebe ich mir 6 versionen aufCode:#!/bin/bash date > /tmp/fileC netstat -tlapne > /tmp/fileA cat /tmp/fileA >> /tmp/fileC i=1 while [ $i -le 59 ] do # echo $i netstat -tlapne > /tmp/fileA sleep 1 netstat -tlapne > /tmp/fileB tail -2 /tmp/fileC > /tmp/fileD diff --text /tmp/fileA /tmp/fileB|grep tcp| grep -v 'cat /tmp/fileD' >> /tmp/fileC i=`expr $i + 1` done cat /tmp/fileC >> /var/log/tcp
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026