Ganz kurz und knapp…
1 2 3 4 |
# Nur anhalten docker stop $(docker ps -a -q) # Löschen docker rm $(docker ps -a -q) |
there is no place like 127.0.0.1…
Ganz kurz und knapp…
1 2 3 4 |
# Nur anhalten docker stop $(docker ps -a -q) # Löschen docker rm $(docker ps -a -q) |
Unter Debian gibt es viele einfache Möglichkeiten, leere Ordner innerhalb eines Pfades zu suchen und zu löschen. Eine Möglichkeit dazu lautet:
1 |
find [PFAD] -type d -empty -delete |
Wer erstmal nur gucken möchte und NICHT gleich löschen, nimmt:
1 |
find [PFAD] -type d -empty |
Erklärung:
1 2 3 4 5 |
find # Befehl [PFAD] # Pfad zum Ordner oder . für den aktuellen -type d # Zu suchende Typ -> Ordner -empty # Leere Inhalte / Ordner -delete # Auszuführende Aktion -> löschen |
Ich habe das Script noch etwas aufgebohrt und mit einer „proper“ englischen Beschreibung versehen! 😉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#!/bin/bash # file: pdf_compress.sh # creator: c0by # description: small bash script for pdf shrink. please backup your files. all files will be overwritten, there will be no new filename etc. # maybe you find the place to change this. i don't want new files... ;-) # always backup your files before shrinking the pdf files. in some cases you get bigger files than smaller ones. # please check after each shrinking... # happy shrinking... # START1=$(date +%s.%2N) # set script start time BEFORE=$(du -sh | cut -f1 -d ".") # get dir size before # for file in *.pdf # beginn loop do START=$(date +%s.%2N) # set file start time pdf2ps "$file" "tmp_${file%.*}.ps" # create temporary tmp_NAME.ps ps2pdf "tmp_${file%.*}.ps" "${file}" # create result - NAME.pdf rm "tmp_${file%.*}.ps" # remove temporary *.ps END=$(date +%s.%2N) # set file end time DIFF=$(echo "$END - $START" | bc) # calc diff time echo "$file done in $DIFF sec." # echo filename done # # do other stuff END1=$(date +%s.%2N) # set script end time DIFF1=$(echo "$END1 - $START1" | bc) # calc diff time AFTER=$(du -sh | cut -f1 -d ".") # get dir size after # echo "" # line break # echo "size before $BEFORE" # echo size before echo "size after $AFTER" # echo size after echo "" # # do some play stuff, show diff time and a timer for closing windows secs=$((2 * 10)) # time calculation while [ $secs -gt 0 ]; do echo -ne "all done in $DIFF1 sec. time till close $secs\033[0K\r" sleep 1 # this second is necessary apart from that the countdown doesn't work : $((secs--)) done |
Ordner anzeigen die älter als x sind:
1 |
find /dir/ -type d -mtime +2 | sort |
Ordner löschen die älter als x Tage sind:
1 |
find /dir/ -type d -mtime +2 | xargs rm -rf |
Kurze Erklärung:
find sucht Dateien / Ordner
/dir/ der Pfad
type d steht für den Typ Ordner (dir)
mtine +2 steht für den Zeitraum, in welchem gesucht wird, als 2 Tage
Was tun, wenn am BananaPi, 2 HDD / SSD angeschlossen sind und dafür aktuell 2 SMB Freigaben existieren?! Richtig, eine Lösung suchen zum Zusammenlegen.
In diesem Fall, heißt die Lösung *mhddfs*.
1 2 3 4 5 6 7 |
root@pii ~ # man mhddfs | grep -A 6 -i name NAME mhddfs - The driver combines a several mount points into the single one. SYNOPSIS mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options] mhddfs /dir1 dir2,dir3 /mount/point [-o options] |
Also kurzgefasst. Ordner angeben die zusammen gemountet werden sollen und das Ziel, wo gemountet werden soll.
In meinem Fall, eine USB und eine SATA HDD…
1 |
mhddfs /usb/1,/sda/2 /usbsda -o allow_other |
-o allow_other erlaubt den Zugriff für alle. Also auch für SMB Freigaben. Ohne die Option war kein SMB Zugriff möglich. Die Option fehlt leider in der Manpage.
Lustigerweise werden beide Platten mit der Größe auch zusammengelegt.
1 2 3 |
root@pii ~ # df -h /usbsda Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /usb/1;/sda/2 752G 290G 425G 41% /usbsda |
Aushängen geht mit fusermount…
1 |
fusermount -u /usbsda |
Hier noch die spärliche Manpage…
Ein kleines Script für einen Shoutcast Server Lasttest. Das Script stammt NICHT von mir. Ich übernehme es bloß, da die orig. Seite offline ging / geht.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/bin/bash echo "enter a URL to stress test. ex: http://radio.derp.com:8123" read URL echo "enter number of threads to run. ex: 50" read THREADS for ((N=0; N<$THREADS; N++)) do curl -o /dev/null $URL >> /dev/null 2>&1 & done echo "Created "$THREADS" threads connected to "$URL echo "Live Bandwidth" echo "hit ctrl-c when you are finished" vnstat -l echo "Press any button and hit enter to kill all curl processes! Thanks!" read Q killall -e curl |
Curl und vnstat wird benötigt.
1 |
apt install -y curl vnstat |
Das Ergebnis.
1 2 3 4 5 6 7 8 9 10 11 |
./shoutcast_stress.sh enter a URL to stress test. ex: http://radio.derp.com:8123 stream.willstare.com:8123 enter number of threads to run. ex: 50 1500 Created 1500 threads connected to radio.derp.com:8123 Live Bandwidth hit ctrl-c when you are finished Monitoring em0... (press CTRL-C to stop) rx: 50.45 Mbit/s 4514 p/s tx: 2.48 Mbit/s 4503 p/s |
Quelle: http://willstare.com/stress-testing-shoutcast-server/
1 |
while ! command#1;do sleep 5; done |
Kurzform: Command#1 wird ausgeführt, Kurze vordefinierte Wartezeit oder evtl. auch 2. Befehl und dann geht es wieder von vorne los.
Ich brauchte dies, um Dateien per rsync vom Server zukopieren, weil alle paar Sekunden die Verbindung abgebrochen wurde. Damit lies es dann ohne Probleme und rsync wurde immer neugestartet.
Beendet wird der Befehl mit 2x „Strg + c“.