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
Linux Shell VIM

ubuntu bluetooth bei start deaktivieren

um unter ubuntu die bluetooth funktionen permanent (bei system start) auszuschalten,
öffne die datei /etc/rc.local

sudoedit /etc/rc.local

und editiere die datei mit folgendem:

rfkill block bluetooth

so das die datei etwa so aussieht:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

rfkill block bluetooth

exit 0

bluetooth kann natürlich jederzeit über die settings wieder aktiviert werden.

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

Kategorien
Deployment Linux Server Shell

mit find und xargs und cp dateien von a nach b kopieren

finde alle dateien in directory die mit .ext enden und kopiere sie nach newdirectory


find directory/ -type f -name *.ext -print0 | xargs -0 cp -t newdirectory/

Kategorien
Deployment Linux PHP Server Shell

shell do something in a while

#!/bin/bash

DONE=0
while [ $DONE -eq 0 ] 
do
    #do something and return something else than 0 when you want to exit this circle
    DONE=$?
done