]> git.argeo.org Git - gpl/argeo-slc.git/blob - server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.main/ant/backup/build.xml
Reintroduce ant support
[gpl/argeo-slc.git] / server / org.argeo.slc.siteserver / bundles / org.argeo.slc.server.main / ant / backup / build.xml
1 <project>
2 <property name="tempdir" location="/tmp/spartaBackup" />
3 <property name="svnBase" location="/srv/sparta/svnrepos/" />
4 <property name="backupsBase" location="/srv/sparta/backups" />
5
6 <target name="backupServer">
7 <tstamp>
8 <format property="startTime" pattern="yyMMdd_hhmm" />
9 </tstamp>
10
11 <delete dir="${tempdir}" />
12 <mkdir dir="${tempdir}" />
13
14 <!-- SVN REPOS -->
15 <property name="svndumpDir" location="${tempdir}/svndump" />
16 <mkdir dir="${svndumpDir}" />
17 <svnDump from="${svnBase}/site" to="${svndumpDir}/site" />
18 <svnDump from="${svnBase}/code" to="${svndumpDir}/code" />
19
20 <!-- LINUX CONFIGS -->
21 <property name="linux" location="${tempdir}/linux" />
22 <mkdir dir="${linux}" />
23 <copy todir="${linux}" verbose="true">
24 <fileset dir="/">
25 <include name="etc/httpd/conf/httpd.conf" />
26 <include name="etc/httpd/conf.d/sparta.conf" />
27 <include name="home/sparta/bin/*" />
28 </fileset>
29 </copy>
30
31 <!-- MySQL DUMPS -->
32 <property name="mysqldir" location="${tempdir}/mysql" />
33 <mkdir dir="${mysqldir}" />
34 <mysqlDump dbname="sparta" todir="${mysqldir}" />
35
36 <!-- ARCHIVE -->
37 <property name="backupDir" location="${backupsBase}/${startTime}" />
38 <mkdir dir="${backupDir}" />
39 <property name="dataBackupFile" location="${backupDir}/dataBackup-${startTime}.tar.gz" />
40 <tar longfile="gnu" destfile="${dataBackupFile}" compression="gzip">
41 <tarfileset dir="${tempdir}" includes="**" />
42 </tar>
43
44 <!-- SITE WC -->
45 <property name="siteBackupFile" location="${backupDir}/site-${startTime}.tar.gz" />
46 <tar longfile="gnu" destfile="${siteBackupFile}" compression="gzip">
47 <tarfileset dir="/var/sparta/site/">
48 <include name="**" />
49 <exclude name="customer/**" />
50 </tarfileset>
51 </tar>
52
53 <!-- LATEST -->
54 <property name="latestDir" location="${backupsBase}/_LATEST" />
55 <delete dir="${latestDir}" />
56 <mkdir dir="${latestDir}" />
57 <copy todir="${latestDir}" verbose="true">
58 <fileset dir="${backupDir}" includes="**" />
59 </copy>
60 </target>
61
62 <macrodef name="svnHotcopy">
63 <attribute name="from" />
64 <attribute name="to" />
65 <sequential>
66 <echo message="SVN hot copy from @{from}" />
67 <mkdir dir="@{to}" />
68 <exec executable="/usr/bin/svnadmin">
69 <arg value="hotcopy" />
70 <arg value="@{from}" />
71 <arg value="@{to}" />
72 </exec>
73 </sequential>
74 </macrodef>
75
76 <macrodef name="svnDump">
77 <attribute name="from" />
78 <attribute name="to" />
79 <sequential>
80 <echo message="SVN dump from @{from}" />
81 <exec executable="/usr/bin/svnadmin" output="@{to}" error="@{to}.log">
82 <arg line="dump @{from}" />
83 </exec>
84 </sequential>
85 </macrodef>
86
87 <macrodef name="mysqlDump">
88 <attribute name="dbName" />
89 <attribute name="toDir" />
90 <sequential>
91 <echo message="MySQL dump from @{dbName}" />
92 <exec executable="/usr/bin/mysqldump" output="@{toDir}/@{dbName}.sql">
93 <arg line="--lock-tables --add-locks --add-drop-table -u root" />
94 <arg line="--databases @{dbName}" />
95 </exec>
96 </sequential>
97 </macrodef>
98 </project>