tmp backup Plesk, dumps aus /var/lib/psa verschieben

Die /var Partition fällt bei dem einen oder anderen Admin recht klein aus. Oft zu klein um die automatischen Plesk Backups länger aushalten zu können. Läuft die Partition voll, wird der Server nach und nach kaputt gehen. Emails werden nicht versendet, Webseiten funktionieren nicht mehr richtig, Backups sind fehlerhaft und unbrauchbar, Dienste starten nicht mehr.
Auf jeden Fall geht der Server in die Knie und kann unter Umständen nicht mehr reibungslos laufen. Auch ein nachträgliches Bereinigen der /var Partition hilft nicht mehr weiter.
Ein Neustart jeglicher Services oder auch des ganzen Servers ist unumgänglich.

Dazu als Vorbereitung die /var Partition mit ln entlasten. Wir setzen ein symlink.

Speicherort: /var/lib/psa/dumps

Temporäre Dateien für das Plesk Backup umsiedeln.

1. Dateien woanders auslagern

/etc/init.d/mysql stop
oder 
service mysql stop
rm -R  /var/lib/psa/dumps/*

mysql starten


MySQL Starten / Stoppen / Neustarten:
/etc/init.d/mysql stop
/etc/init.d/mysql start
/etc/init.d/mysql restart

#erstellt das Verzeichnis
mkdir /srv/backup

#setzt die richtigen Rechte chown psaadm  /srv/backup 
#löscht das alte Verzeichnis
rmdir /var/lib/psa/dumps

#symlink setzen
ln -s /srv/backup  /var/lib/psa/dumps

Datei in einer bestimmten Größe erstellen

Man braucht hin und wieder mal eine „leere“ Datei, die eine bestimmte Größe hat, um mit dieser zum Beispiel einen Kopiervorgang zu testen. Das löst man mit dem Programm dd.

dd if=/dev/zero of=path/file.leer bs=1M count=4096

Der Befehl erzeugt eine mit Nullen (/dev/zero) befüllte Datei, die 4GB (1MB x 4096) groß ist.

argument list too long

Da habe ich 60k *.xml Dateien zu löschen.

$ rm *.xml -v
argument list too long

Gut, funktioniert nicht. Versuchen wir es mit find und xargs

$ find . -name *.xml | xargs /bin/rm *.xml
Diesmal meldet sich find: argument list too long

Natürlich funktioniert es auch nicht wenn wir einen 0byte hinten dran hängen.
Es könnte zwar funktionieren, aber wohl nicht bei 60k Dateien.
$ find -type f -name ‚*.xml‘ -print0 | xargs -0 rm
bzw.
$ find . -type f -name „*.xml“ -exec rm {} \;

Lösung:
$ echo *.xml | xargs rm -fv

===================================

Mit
$ getconf ARG_MAX
kann ich die current command line length limitation rausfinden.
Die kann man auch hochsetzen in
$ vi /usr/include/linux/limits.h

Das wäre aber dann der nächste Schritt, wenn $ echo nicht funktioniert hätte.

Eine andere Lösung;
for currfile in `ls /home/smarttv/public/htdocs/tvdaten/topush/*.xml`
do
rm ${currfile}
done

Fazit:
Meist wird man auf xargs verwiesen, doch bevor ich aus der Pipe xargs einsetzen kann ist die Argumentliste bei rm, find, ls einfach too long^^

echo hilft weiter.
Weitere Vorschläge bitte in den Kommentaren.

backup script Strato Root Server > Strato FTP Server

Da der strato backup server nur über ftp vom strato Root Server erreichbar ist, (tunneln und andere Tricks ausgenommen), eignet sich dieses Script um die Backups per Cronjob rüber zu schieben.


#!/bin/bash

# Titel: Backup-Script
# Description: Sicherung von /srv, /etc, /var/log und MYSQL-Datenbanken anlegen und automatisch auf einen festgelegten FTP-Server hochladen.
# Original Script bei beier-christian.eu
# Copyright: Christian Beier (http://www.beier-christian.eu/)

# Allgemeine Angaben
MYSQL_USER=dumpmysqluser
MYSQL_PASS=dasPasswort
FTP_SERVER=backup.serverkompetenz.de
FTP_USER=bftpuserij9ß8
FTP_PASS=passwortftpuserblaundblubb

# Festlegung des Datums - Format: 20130201
DATE=`date +"%Y%m%d"`

# ENDE DER EINSTELLUNGEN

# Backup-Verzeichnis anlegen
mkdir /tmp/backup
#mkdir /tmp/backup/mysql

# Verzeichnisse die ins Backup integriert werden sollen

cp -r /etc /tmp/backup
cp -r /home/user007 /tmp/backup
cp -r /root /tmp/backup
cp -r /var /tmp/backup

cd /tmp/backup

#Unter Umständen Kram aus tmp löschen, was im Moment nicht mitgesichert werden soll

rm -r /tmp/backup/var/lib
rm -r /tmp/backup/var/cache
rm -r /tmp/backup/var/drweb

# Sicherung der Datenbanken
# im moment werden die anders gesichert deshalb auskommentiert
#mysqldump -AaCceQ -u$MYSQL_USER -p$MYSQL_PASS -r mysql.dbs
#mysqldump -AaCceQ -r mysql.dbs
#cd ../

# Alle Dateien mit tar.bz2 komprimieren

tar cjfp etc-$DATE.tar.bz2 etc
tar cjfp user-$DATE.tar.bz2 user
tar cjfp root-$DATE.tar.bz2 root
tar cjfp var-$DATE.tar.bz2 var

# Alle komprimierten Dateien per FTP auf den Backup-Server laden
# folgende 7 Zeilen auskommentieren um über ftp zuzugreifen
#ftp -ni << END_UPLOAD
#open $FTP_SERVER
#user $FTP_USER $FTP_PASS
#bin
#mput *.tar.bz2
#quit
#END_UPLOAD

# andere Möglichkeit um die Backups auf dem private_backup Ordner im V-Server bei Strato abzulegen
# Sollte es hart auf hart kommen, würde bei einer Neuinstallation dieser Ordner bestehen bleiben.

mkdir /private-backup/backups/backup-$DATE

cp -r *.tar.bz2 /private-backup/backups/backup-$DATE

# Anschliessend alle auf den Server angelegten Dateien wieder loeschen
rm -r -f /tmp/backup

Syntax Highlighting von Ryan Mcgeary. WPSyntax

Programm-Quellcode (Quelltext) mit WordPress anzeigen

Mit dem Plugin Syntax Highlighting von Ryan Mcgeary lässt sich Programmcode mit einem Syntax Highlight anzeigen. Der Code muss dafür in ein PRE-Tag eingepackt werden.

Beispiel Syntax Highlight:

<pre lang=”php”>
<?php
/* A simple php script */
$choice = $_GET['foo'];
if ( $choice == 1 )
{
  echo 'You like coffee!';
}
elseif ( $choice == 2 )
{
echo 'I said, "You like coffee!"';
}
echo "<br />\"Isn't coffee horrible though?\"";
?>
</pre>

So sieht das Ergebnis aus:

<?php
/* A simple php script */
 
$choice = $_GET['foo'];
if ( $choice == 1 )
{
  echo 'You like coffee!';
}
elseif ( $choice == 2 )
{
  echo 'I said, "You like coffee!"';
}
 
echo "<br />\"Isn't coffee horrible though?\"";
 
?>

Mit dem Attribut lang wird die Sprache angegeben, wobei folgende Programmiersprachen möglich sind: abap, actionscript, actionscript3, ada, apache, applescript, apt_sources, asm, asp, autoit, avisynth, bash, bf, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cil, cfdg, cfm, cobol, cpp-qt, cpp, csharp, css, d, delphi, diff, div, dos, dot, eiffel, email, fortran, freebasic, genero, gettext, glsl, gml, bnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, lolcode lotusformulas, lotusscript, lscript, lua, m68k, make, matlab, mirc, mpasm, mxml, mysql, nsis, objc, ocaml-brief, ocaml, oobas, oracle11, oracle8, pascal, per, pic16, pixelbender, perl, php-brief, php, plsql, povray, powershell, progress, prolog, providex, python, qbasic, rails, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, xml, xorg_conf, xpp, z80

Das Attribut line ermöglicht die Anzeige von Zeilennummern, wobei es zugleich den Startwert bestimmt.

Alte backup Dateien löschen. Check files older than…

suse:~$ cat deleteTMPpskBackups.sh
#!/bin/sh
# Delete backup more than 35 days old.
backupDir="/srv/backup"
daysToKeep=35
 
echo "Check files older than $daysToKeep days in $backupDir"
listOfFiles=`find $backupDir -mtime +$daysToKeep`
if [ ! -z $listOfFiles ]
then
echo "Found [$listOfFiles]"
else
echo "None found."
fi
for toDelete in $listOfFiles
do
echo "Deleting $toDelete"
rm -rf $toDelete
done
echo "Done."

Wiederholungsintervalle von Ausfällen in Exchange Server 2003

Regedit.exe oder
Regedt32.exe.

  1. HKLM\System\CurrentControlSet\Services\SMTPSvc.
  2. Rechtsklick SMTPSvc, und wählen Sie Neu | Schlüssel aus.
  3. Benennen Sie den Schlüssel Queuing.
  4. Klicken Sie mit der rechten Maustaste auf Queuing, und wählen Sie Neu | DWORD-Wert aus.
  5. Benennen Sie den DWORD-Wert GlitchRetrySeconds.
  6. Doppelklicken Sie auf GlitchRetrySeconds, um den Wert zu bearbeiten.
  7. Ändern Sie Base in Decimal.
  8. Geben Sie im Feld Datenwerte die Anzahl der Sekunden ein, die Exchange Server 2003 vor dem erneuten Senden einer Nachricht warten soll.
  9. Klicken Sie auf OK, um die Änderung zu speichern, und schließen Sie den Registrierungseditor dann.
  10. Starten Sie den SMTP-Dienst (Simple Mail Transfer Protocol) erneut, damit die Änderung wirksam wird.

Quelle: microsoft.com

netsh

netsh
Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1986-2001 Microsoft Corp.
C:\WINDOWS>netsh ?
Usage: netsh [-a AliasFile] [-c Context] [-r RemoteMachine]

[Command | -f ScriptFile]

Commands in this context:
..                – Goes up one context level.
?                – Displays a list of commands.
abort          – Discards changes made while in offline mode.
add            – Adds a configuration entry to a list of entries.
alias            – Adds an alias.
bridge        – Changes to the `netsh bridge‘ context.
bye             – Exits the program.
commit        – Commits changes made while in offline mode.
delete         – Deletes a configuration entry from a list of entries.
diag            – Changes to the `netsh diag‘ context.
dump          – Displays a configuration script.
exec            – Runs a script file.
exit              – Exits the program.
firewall       – Changes to the `netsh firewall‘ context.
help            – Displays a list of commands.
interface     – Changes to the `netsh interface‘ context.
lan              – Changes to the `netsh lan‘ context.
nap              – Changes to the `netsh nap‘ context.
offline          – Sets the current mode to offline.
online         – Sets the current mode to online.
p2p            – Changes to the `netsh p2p‘ context.
popd           – Pops a context from the stack.
pushd          – Pushes current context on stack.
quit           – Exits the program.
ras            – Changes to the `netsh ras‘ context.
routing        – Changes to the `netsh routing‘ context.
set            – Updates configuration settings.
show           – Displays information.
unalias        – Deletes an alias.
winsock        – Changes to the `netsh winsock‘ context.

The following sub-contexts are available:
bridge diag firewall interface lan nap p2p ras routing winsock

To view help for a command, type the command, followed by a space, and then
type ?.

batchScript um wieder Microsoft WinXP Updates zu beziehen.

@echo on
net stop wuauserv /Y
net stop bits /Y
net stop cryptsvc /Y
ren %systemroot%\System32\Catroot2 oldcatroot2
net start cryptsvc
ren %SYSTEMROOT%\SoftwareDistribution SoftwareDistribution.old
regsvr32 wuapi.dll /s
regsvr32 wuauclt1.exe /s
regsvr32 wuauclt.exe /s
regsvr32 wuaucpl.cpl /s
regsvr32 wuaueng1.dll /s
regsvr32 wuaueng.dll /s
regsvr32 wuauserv.dll /s
regsvr32 wucltui.dll /s
regsvr32 wupdmgr.exe /s
regsvr32 wups2.dll /s
regsvr32 wups.dll /s
regsvr32 wuweb.dll /s
regsvr32 iuengine.dll /s
net start bits
net start wuauserv
net start Eventlog

Download:
xpupdates.bat
Die Dateiendung .txt entfernen.