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
ANT Deployment Linux Server Shell

alte dateien mit ant task löschen

um mit ant alte dateien per find/pipe/xargs zu entfernen, kann man den ant exec befehl verwenden.

    <target name="dump_cleanup" description="dump cleanup - remove old backup db dumps">
        <echo message="cleanup backup dir - remove old db dumps"/>
        <exec executable="bash" dir="${backups}">
            <arg value="-c"/>
            <arg line='"find -P . -maxdepth 1 -type f -ctime +4 -print0 | xargs -0 rm -f"'/>
        </exec>
    </target>