Kategorien
Deployment Linux Server Shell

crontab schnell erklärt

im ubuntu users wiki ist eine schöne knappe erklärung zu crontab:

wiki.ubuntuusers.de/Cron

Kategorien
Deployment Javascript Layout & Styles Linux Server Shell

howto purge url mit squidclient

um mit dem squidclient veraltete dateien aus dem cache zu entfernen, geht man wie folgt vor:

 
user@server:/www$ squidclient -m PURGE http://www.example.com/js/javascript.js
 
Kategorien
Deployment Linux Server Shell

howto setup ramfs und tmpfs

um schnelle dateizugriffe für caches zu realisieren, ist es angebracht diese dateistruktur im ram des rechners zu erzeugen. tmpfs und ramfs benutzen jeweils den ram des rechners und unterscheiden sich folgendermaßen:

tmpfs wächst nicht dynamisch, sondern hält immer die grösse mit der es angelegt wurde.
tmpfs benutzt den swap bereich bei überladung.

ramfs wächst dynamisch und kann sämtlichen speicher aufbrauchen.
ramfs benutzt keinen swap.

 
# mkdir -p /mnt/tmpcache
 
# mount -t tmpfs -o size=100m tmpfs /mnt/tmpcache

# mkdir -p /mnt/ramcache

# mount -t ramfs -o size=100m ramfs /mnt/ramcache
 

der befehl mount zeigt alle derzeit gemounteten dateisysteme.
die auslastung kann mittels df -k angezeigt werden

 
# df -k tmpcache/
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   102400      1588    100812   2% /mnt/tmpcache

# mount
...
tmpfs on /mnt/tmpcache type tmpfs (rw,size=100m)
ramfs on /mnt/ramcache type ramfs (rw,size=100m)

um diese ordner permanent zu mounten (auch nach systemstart) muss ein eintrag in die /etc/fstab geschrieben werden.

Kategorien
Deployment Linux Server Shell SVN Versionierung

howto copy merge svn branch trunk

Branch erzeugen

dev@server:~/project> svn cp https://svn.example.com:88/svn/project/trunk https://svn.example.com:88/svn/project/branches/[BRANCH_NAME]

Branch aktuell halten

Es sollte immer in kurzen Abständen der Trunk in den Branch überführt werden, damit es bei späterem Zurückführen keine größeren Konflikte gibt. Mit –dry-run kann man vorher testen was bei merge passieren würde.

dev@server:~/project/branches/[BRANCH_NAME]> svn up
dev@server:~/project/branches/[BRANCH_NAME]> svn merge --dry-run https://svn.example.com:88/svn/project/trunk
dev@server:~/project/branches/[BRANCH_NAME]> svn merge https://svn.example.com:88/svn/project/trunk

Branch in den Trunk zurückführen

Mit –dry-run kann man vorher testen was bei merge –reintegrate passieren würde.

dev@server:~/project/trunk> svn merge --dry-run --reintegrate https://svn.example.com:88/svn/project/branches/[BRANCH_NAME]
dev@server:~/project/trunk> svn merge --reintegrate https://svn.example.com:88/svn/project/branches/[BRANCH_NAME]
Kategorien
ANT Apache Deployment Linux MySQL Server Shell XML

ant task – mysqldump mit gzip

um mit ant einen gezipten mysqldump zu erstellen, gehe wie folgt vor

    <target name="tstamp" description="create timestamp for further usage">
        <echo message="create timestamp for further usage"/>
        <tstamp/>
    </target>

    <target name="mkdir" description="create backup directory">
        <echo message="create backup directory"/>
        <mkdir dir="${backups}"/>
    </target>

    <target name="dump" description="create db dump and gzip it - depends on tstamp, mkdir" depends="tstamp, mkdir">
        <echo message="create db dump and gzip it"/>
        <exec executable="bash" dir="${backups}">
            <arg value="-c"/>
            <arg line='"mysqldump ${db} -u${db_user} -p${db_pass} | gzip > ${backups}/${db}_${DSTAMP}_${TSTAMP}.sql.gz"'/>
        </exec>
    </target>
Kategorien
Apache Lighttpd Linux Server

mit jhead image metadaten manipulieren

nach einigen erfolglosen manipulationsversuchen von exif und iptc daten in images, kam jhead. damit ist es möglich, photoshop und windows metadaten in images zu löschen und eigene, echte metadaten in das image zu schreiben.

sentex.net/~mwandel/jhead/

einfach die bin an geeignete stelle kopieren, ausführbar machen und bspw. mit php verwenden:

exec('/usr/bin/jhead -purejpg source.jpg target.jpg');
Kategorien
Deployment Linux MySQL Server Shell

mysqldump ohne definer

um hostunabhängige mysql dumps zu erzeugen, muss man die definer aus dem jeweiligen dump entfernen.
mit sed kann man das gleich beim erzeugen des dumps:

mysqldump database -ufoo -pbar -hlocalhost | sed "s/\/\*[^\/]*DEFINER.*\*\///g" > dump_without_definer.sql
Kategorien
Debugging Deployment Linux Server Shell SVN Versionierung

mit find, grep und xargs dateien rekursiv aus svn working copies löschen

Findet alle Dateien die mit ._ anfangen, ignoriert die .svn eigenen kopien und markiert diese zum löschen via svn.

find . -name '._*' -type f | grep -v '.svn/'  | xargs svn rm
Kategorien
Debugging Linux MySQL PHP PhpMyAdmin Server

phpmyadmin mit ssl erzwingen

trage einfach in die config.inc.php folgendes ans ende der datei:

// am ende der config.inc.php
$cfg['ForceSSL'] = true;
Kategorien
Debugging Deployment Linux Server Shell VIM

suchen und ersetzen mit vim


# sucht im inhalt der datei nach suchbegriff
/suchbegriff

# ersetzt im inhalt der datei alt mit neu
# slashes und * im patter/replacement müssen escaped werden
:%s/alt/neu/g