16.8.15

Linux Bash: Fortschritt beim Kopieren berechnen

Ich kopiere oftmals große Datenmengen und möchte auf einen Blick wissen, welche Datenrate im Moment genutzt wird.
Das ganze gestaltet sich schwierig, wenn Hintergrundprozesse verwendet werden wie bei meinem NAS, wo ein Rsync läuft.

Aber ein Einzeiler hilft hier:

a=0;wait=10;while true; do i=`df -m | grep sdd | awk '{ print $3 }'`; echo -n $i " MByte => "; echo -n $(($i-$a)); echo " ==> " $((($i-$a)/$wait)) " MB/s"; a=$i; sleep $wait; done

Ich lasse mir anzeigen, welche Fortschritte im 10-Sekunden-Rhytmus gemacht werden, hier bei meiner Platte sdd1.
Natürlich ist die Anzeige nur korrekt, wenn nur ein Rsync-/Kopierauftrag läuft :)

Ausgabe z.B.:
104876  MByte => 44 ==>  4  MB/s


Das ist die belegte Plattengröße in Megabyte und anschließend die Änderung seit der letzten Anzeige.

10.8.15

PDF Dateien drehen und komprimieren

Ich stand vor dem Problem, dass ich zahlreiche Dokumente eingescannt hatte und dabei nicht auf die Richtung geachtet hatte.
Weiterhin sollten die Dokumente, die mit 300dpi eingescannt wurden, per Mail versendet werden, was aufgrund der Größe so ohne weiteres nicht möglich war.

Das Drehen von Dokumente ist mit pdftk ganz einfach. Das Paket pdftk ganz einfach mit apt-get install pdftk installieren.


Ich hatte ein Dokument, wo die Seiten 1-2 nach links, Seite 3 nach rechts, 4-5 wieder nach links, 6-8 um 180 Grad und Seite 9 wieder nach rechts gedreht werden musste.
Ein Einzeiler liefert die Lösung:

  pdftk Originaldokument.pdf cat 1-2west 3east 4-5west 6-8south 9east output gedrehtesDokument.pdf
Dabei stehen die Buchstaben für die Himmelsrichtungen East, West, South :)
Weitere Möglichkeiten von pdftk sind in der Wiki von Ubuntu aufgeführt.


Diese Dokumente waren natürlich noch zu groß. Mittels ghostscript und einem kleinen Script lassen sie sich komprimieren.

#!/bin/bash
# Hierhin werden die komprimierten Dokumente gespeichert
newdir="compress"

# Hole alle Dateien des aktuellen Verzeichnisses mit der Endung pdf
dateien=`find ./ -maxdepth 1 -iname "*pdf"`

for i in $dateien; do
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=$newdir/$i
echo Verarbeite $i;

done
Dabei gibt -dPDFSETTINGS die Qualität an. Mir reichte die ebook Qualität (150 dpi).
Weitere Hinweise zu den Einstellungen findet ihr u.a. hier.

Openhab und Ecoflow Max - API Anbindung

 Ich wollte die neu erworbene Powerstation in Openhab einbinden, um den aktuellen Status (Ladestand etc.) über Openhab auswerten zu können. ...