Posts mit dem Label Codeschnipsel werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Codeschnipsel werden angezeigt. Alle Posts anzeigen

11.2.14

Rsync über SSH nutzen

Wer öfter in die Verlegenheit kommt, große Dateien (> 1GB) über das Netz kopieren zu müssen, wird vermutlich schon festgestellt haben, dass der Linux Befehle SCP oftmals abbricht (warum auch immer).
Eine Alternative ist rsync, welcher sich einfach installieren und anwenden lässt.

Syntax ist die folgende:

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/

(c&p von http://troy.jdmz.net/rsync/index.html)

Weitere Schalter, die hilfreich sein können:

Uploadlimit eingrenzen auf 70 kb/s
--bwlimit=70

Fortschritt anzeigen:
--progress

Der Vorteil ist, dass auch nach Abbrüchen der UP- bzw. Download problemlos fortgesetzt werden kann.
I love it!


Update:
Nicht über SSH, sondern "ganz normal" syncen ist auch nicht immer ganz trivial.
Ich hatte das Problem, dass von einem NAS auf eine mit NTFS formierte externe USB-Platte gesynct werden sollte und immer wieder die gleichen Dateien gesynced wurden.
Lösung:

 rsync -rvvltDu /Quelle/ /Ziel/
-r: copies directories recursively
-l: copies symlinks as symlinks
-t: preserves modification times
-D: preserves device and special files
-v: shows output (verbose)
-u: skips files that are newer at the destination


Update:
Bei einem Fehler wie diesem
 rsync error: error in rsync protocol data stream (code 12) at io.c(601)

könnte es sein, dass der remote path zu rsync auf dem remote System nicht wie erwartet ist. Dann einfach den Pfad angeben, wie z.B.:
--rsync-path "/ffp/bin/rsync"

29.4.13

Mini-Tools, die ich immer wieder brauche und nicht verloren gehen dürfen :)

Große Dateien finden:
 ls -lahS $(find / -type f -size +10000k)

 Findet alle Dateien größer 10MB

SCP ohne Abbruch
Wer kennt es nicht? Man will per SCP eine große Datei übertragen, die Übertragung bricht jedoch bei 70,80 oder 90% ab und man muss von vorn beginnen.
 Lösung: Rsync

rsync -P ——bwlimit=45 ——rsh=ssh /Quelldatei benutzer@server:/Zieldatei

Root Laufwerk nach Booten der Wiederherstellungskonsole wieder beschreibbar einbinden:

mount -o remount,rw /
 
 
System zeigt mit df 0% freien Platz an, obwohl die Festplatte noch nicht voll ist
Grund: Die restlichen 10% an Platz sind dem Benutzer root vorbehalten.

Änderung:
tune2fs -m 1 /dev/sdb1
 
MySQL Root Passwort setzen 
Mysql stoppen
/usr/bin/mysqld_safe --skip-grant-tables --user=root
login als root
UPDATE mysql.user SET Password=PASSWORD('passwort') WHERE User='root';
FLUSH PRIVILEGES;
 

Samba Freigabe mounten

mount -t cifs -o username=USERNAME,cruid=UID_DES_NUTZERS,sec=krb5i,vers=3.0 //192.168.1.100/Tausch /media/austausch  

3.1.13

Mit JQuery (Input)-Felder "disablen"


 Feld deaktivieren:
$('#submit').prop('disabled', true);
 Feld aktivieren:
$('#submit').prop('disabled', false);
 

25.10.12

Formulardaten auswerten aus WYMeditor

Der WYMeditor ist ein  WYSIWYM (What You See Is What You Mean) XHTML Editor, welcher sehr leicht in die eigene Webanwendung implementiert werden kann.

Mein Problem war, dass die Formulardaten aus einer Textarea nicht so einfach zu erhalten waren.
Nach einer Google-Suche fand ich dann die Lösung:

$.wymeditors(0).update();
Anschließend kann das Formular versendet werden und die entsprechenden Daten werden per POST übertragen.
Eine Ajax-Funktionalität ist auch sehr leicht möglich.
Nach dem o.a. Update einfach den Text per ID selektieren (JQuery erforderlich - ansonsten document.getElementById......):
 // Text selektieren (nach Update!)
    var text = $('#meineTextarea').val();   
// Aktion definieren
var aktion = {
        "aktion" : "editNotice",
        "editnoticearea" : text
    }
// Daten per Ajax Request versenden
    var ajaxRequest = $.post("PHP-SCRIPT.PHP", aktion, function(data) {
 // hier könnten weitere Befehle stehen....... })
// Wenn erfolgreich -> führe nächste Funktion aus
    .success(function(data) {  responseReceived(data);    })
    .error(function() { alert("Ein Fehler ist aufgetreten");    });

25.9.12

Unterschiede von "altem" JS und JQuery


Javascript:

 
var Msg="abc";
document.getElementById('msg').value = Msg;
document.getElementById('sp_100').checked = true;
 
 

JQuery:

 
var msg = 'abc';
$('#msg').val(msg);
$('#sp_100').attr('checked', 'checked');

 
 

5.9.12

Dateigröße von Ordnern ermitteln in C#

Weil ich das immer wieder mal brauche, hier ein Codeschnipsel:

FileInfo[] FI = new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories);
            foreach (FileInfo F1 in FI)
            {
                size += F1.Length;
            }
            return size;

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. ...