Sie sind hier

HowTos

Enable remote desktop on Windows XP by script

To enable the RDP service on Port 3389 in Windows xp, just run these commands in an script:

netsh firewall add portopening TCP 3389 RDP enable all

reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0
reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fAllowToGetHelp /t REG_DWORD /d 0

NET STOP TermService
NET START TermService

Microsoft Update per VBS/Script aktivieren

Etwas versteckt findet man folgende Möglichkeit um Microsoft Update per Script zu aktivieren:

Set ServiceManager = CreateObject("Microsoft.Update.ServiceManager")
ServiceManager.ClientApplicationID = "My App"
Set NewUpdateService = ServiceManager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")

Quelle: http://msdn.microsoft.com/en-us/library/aa826676%28VS.85%29.aspx

Compress string with zlib into gzip compatible format

As zlib doesn't have a function to compress directly a string into a gzip-compatible format i've written a function to do so:

#include
void gzip_str(const char* in, const int inlen, char* out, int *outlen){
z_stream zlibStreamStruct;
zlibStreamStruct.zalloc = Z_NULL; // Set zalloc, zfree, and opaque to Z_NULL so
zlibStreamStruct.zfree = Z_NULL; // that when we call deflateInit2 they will be
zlibStreamStruct.opaque = Z_NULL; // updated to use default allocation functions.
zlibStreamStruct.total_out = 0; // Total number of output bytes produced so far
zlibStreamStruct.next_in = (Bytef*)in; // Pointer to input bytes
zlibStreamStruct.avail_in = inlen; // Number
int res = deflateInit2(&zlibStreamStruct, Z_DEFAULT_COMPRESSION, Z_DEFLATED, (15+16), 8, Z_DEFAULT_STRATEGY);
if (res!= Z_OK) return;
do {
zlibStreamStruct.next_out = (Bytef*)out + zlibStreamStruct.total_out;
zlibStreamStruct.avail_out = *outlen - zlibStreamStruct.total_out;
res = deflate(&zlibStreamStruct, Z_FINISH);
} while ( res == Z_OK );
deflateEnd(&zlibStreamStruct);
*outlen=zlibStreamStruct.total_out;
}

See the Zlib Faq: http://www.zlib.net/zlib_faq.html#faq20

Markdown

Ich blogge ja schon eine weile und bin eben auf Markdown gestoßen.

Markdown erzeugt aus einer sehr einfachen Text-Syntax HTML-Seiten mit einer ganz ansehnlichen Formatierung.

Für Drupal habe ich auch ein markdown Modul gefunden, jetzt blogge ich ohne die ganzen umständlichen Tools, mal sehen wie sich das bewährt.

Howto get rid of the "Brother XP spl Service" (BrSplService / brsvc01a.exe)

This is a service from a Brother Printer, if you don't have such a printer, try the Brother Printer Driver Uninstall Tool.

I've posted this, because i didn't find an other easy solution. When i manually deleted the service, the service show up after a reboot.

Howto restore Default IDE-Drivers/migrate Windows from Virtualbox to KVM

If you want to migrate a Physical to a Virtual Host or vice versa then you can use the attached files to enable the default IDE drivers on the running system.

before doing so, please make a backup! :-)

I used the Script to convert a Windows XP running in VirtualBox to be executed in KVM. Without doing so i got a 0x0000007B bluescreen.

The .reg file is from Microsoft, the .cmd should be self-explaining :)

kvm supports .vdi files so the VirtualBox machine can be run directly with kvm:

kvm -hda windows.vdi

The image then finally can be converted with

qemu-img convert -O qcow2 windows.vdi windows.qcow2

If that doesn't work the VBoxManage tool from Virtualbox should do the job too:

VBoxManage clonehd –format RAW windows.vdi windows.img

 

AnhangGröße
RestoreIDEDrivers.zip1.46 KB

Git repository aufräumen / neu packen

mit dem Befehl

git gc --auto

wird ein git repository neu gepackt und optimiert. Bei mir wurde ein Repository von 43MB auf nur 16MB geschrumpft. Immerhin eine Platzersparnis von ~70%.

Noch als Hinweis: das optimieren dauert wirklich lange weswegen ich den --auto parameter immer verwende, da dieser den optimierungsprozess nur startet, wenn das aufräumen notwendig ist!

Backup and Restore NTFS-Partition with Unix tools

With ntfs-3g.secaudit it is possible to backup and restore file permissions of a NTFS-Filesystem:

ntfs-3g.secaudit -b /dev/mapper/loop1p2 > sec.data

and to restore:

ntfs-3g.secaudit -se /dev/mapper/loop1p2 sec.data

This makes it possible to backup a complete NTFS-volume with rsync/tar/... and the ntfs-acls.

Packet aus Quellode unter Ubuntu bauen

Um unter Ubuntu aus einem Quellcode-Paket ein .deb datei zu erstellen gibt es das tool checkinstall:

apt-get install checkinstall

Um aus dem Packet ein debian packet zu bauen, muss man es erst entpacken:

tar xifz dovecot-1.2.10.tar.gz

dann mit

./configure  --prefix=/usr --sysconfdir=/etc/dovecot

konfigurieren. Dann noch

checkinstall

ausführen. Um mehrere provides anzugeben verwendet man das plus-zeichen:

provides dovecot-common+dovecot-imapd+dovecot-pop3d

Nachdem man alles konfiguriert hat wird das Paket gebaut und installiert. Das erstellte packet dovecot_1.2.10-1_amd64.deb am besten noch sichern.

 

Backup von einem Server auf den Privatrechner

Da ich gerne zusätzlich ein Backup von meinem Server auf meinem Rechner mache und nicht nur auf dem Rechenzentrum sichere habe ich mir ein Script ausgedacht, was folgendes erfüllt:

  • Das Backup soll jederzeit starten können, also unabhängig davon, wann ich den Rechner eingeschaltet habe
  • maximal alle 24 Stunden wird ein Backup gemacht
  • Es sollen nur geänderte Dateien kopiert werden
  • /tmp, /var/tmp usw. soll nicht gesichert werden
  • Die Geschwindigkeit soll gedrosselt sein, damit es im Hintergrund laufen kann
  • Alte Backup-stände sollen erhalten bleiben und nur manuell gelöscht werden

Das Script das das alles erfüllt ist erstaunlich kurz, dank rsync:

#!/bin/sh

BACKUPDIR=/path/to/backup
LOCKFILE=/path/to/.backup.lock
BACKUPCUR=$BACKUPDIR/current
BACKUPDATE=$BACKUPDIR/`date +"%d.%m.%Y_%H-%M-%S"`
EXCLUDE="--exclude=/tmp \
--exclude=/var/tmp \
--exclude=/usr/portage \
--exclude=/usr/src \
--exclude=/proc \
--exclude=/list+found \
--exclude=/var/lib/clamav/ \
--exclude=/var/log/"

MAXSECSOLD=$((24*60*60))
KBLIMIT=200

if [ "$1" == "--force" ] ; then
        echo -n
elif ! [ "$(( $(date +"%s") - $(stat -c "%Y" $LOCKFILE) ))" -gt "$MAXSECSOLD" ];
then  
        exit 0;
fi
flock -n $LOCKFILE nice rsync -avz --delete --delete-excluded --bwlimit=$KBLIMIT -e ssh root@abma.de:/ $BACKUPCUR $EXCLUDE --backup --backup-dir=$BACKUPDATE
touch $LOCKFILE
touch $BACKUPCUR
 

Kurz zur Erklärung:

es wird überprüft, ob der Parameter --force angegeben wurde, wenn ja wird das Backup ausgeführt. Wenn nicht wird überprüft die letzte Änderung von LOCKFILE weniger als MAXSECSOLD Sekunden her ist, wenn ja wird das Script beendet.

Dann wird das lockfile erstellt, damit das script / der rsync nur einmal gestartet wird und der rsync mit niedriger Priorität gestartet.

Nach dem Backup wird das Änderungsdatum des Lockfile und des Backup-Verzeichnisses auf die Aktuelle Zeit gesetzt.

In BACKUPDIR/current befindet sich das aktuellste Backup, in BACKUPDIR/uhrzeit sind die Dateien, die seit dem letzten Backup geändert worden sind.

Der einzig große Nachteil ist: Sollte man das Backup doch einmal benötigen, muss man über die vermutlich langsame Internetanbindung die Dateien hochladen, was u.u. sehr Lange dauern kann, von daher ist noch zusätzlich ein Backup beim Hoster zu empfehlen.

Noch zu empfehlen wäre, wenn eine Datenbank mit gesichert wird, diese zu beenden und dann dieses Verzeichnis extra zu kopieren, oder einen sql-dump zu machen.

Das Script liegt im Verzeichnis /etc/cron.hourly/.

Seiten

RSS - HowTos abonnieren