<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Transition Technology: Ticket #124: Live database backups</title>
    <link>http://localhost:8080/trac/ticket/124</link>
    <description>&lt;p&gt;
Automate the nightly syncing of a database dump on the live server to the dev server and have an easy to import the live db, minus email addresses, into the dev and test sites.
&lt;/p&gt;
</description>
    <language>en-us</language>
    <image>
      <title>Transition Technology</title>
      <url>/trac/chrome/site/TransitionNetwork-Logo-Web-Small.jpg</url>
      <link>http://localhost:8080/trac/ticket/124</link>
    </image>
    <generator>Trac 0.12.5</generator>
    <item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Tue, 20 Jul 2010 13:42:07 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:1</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:1</guid>
      <description>
        &lt;p&gt;
From Benjamin at Gaia:
&lt;/p&gt;
&lt;pre class="wiki"&gt;The backups are dropped in /var/backups daily and are named for the day
of the week, resulting in 7 days' worth of rotating backups. The script
which generates the backups is at /root/sbin/mysql_backup_daily.sh
If you want to copy the backup file out to another server after it is
generated, you can alter that script (or have us update the script) to
perform the remote copy. I've included an example line in the file which
uses scp to copy the file to an (example) remote server.
&lt;/pre&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Sat, 31 Jul 2010 11:34:56 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:2</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:2</guid>
      <description>
        &lt;p&gt;
The automatic syncing of Mysql backups and a copy of all files has been sorted out, see:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://tech.transitionnetwork.org/trac/wiki/LiveServer#Backups"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://tech.transitionnetwork.org/trac/wiki/LiveServer#Backups&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The script to update the dev and test sites is still to be done.
&lt;/p&gt;
&lt;p&gt;
The time for sorting this out as been added to ticket &lt;a class="closed ticket" href="http://localhost:8080/trac/ticket/97" title="enhancement: Hardware upgrade to GH tier2 servers (closed: fixed)"&gt;#97&lt;/a&gt;
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>jim</dc:creator>

      <pubDate>Mon, 09 Aug 2010 22:06:05 GMT</pubDate>
      <title>description changed</title>
      <link>http://localhost:8080/trac/ticket/124#comment:3</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:3</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;
              modified (&lt;a href="/trac/ticket/124?action=diff&amp;amp;version=3"&gt;diff&lt;/a&gt;)
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Stripping the emails is pointless since Reroute Email is already installed and configured in DEV, TEST and LIVE (&lt;a class="ext-link" href="http://drupal.org/project/reroute_email"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://drupal.org/project/reroute_email&lt;/a&gt;). Updating description.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Fri, 01 Oct 2010 16:27:28 GMT</pubDate>
      <title>hours, totalhours changed; cc set</title>
      <link>http://localhost:8080/trac/ticket/124#comment:4</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:4</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;cc&lt;/strong&gt;
              &lt;em&gt;ed&lt;/em&gt;, &lt;em&gt;john&lt;/em&gt; added
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;5.0&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;5.0&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
I have written a script to update either the &lt;a class="ext-link" href="http://dev.transitionnetwork.org.webarch.net/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://dev.transitionnetwork.org.webarch.net/&lt;/a&gt; or the &lt;a class="ext-link" href="http://test.transitionnetwork.org.webarch.net/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://test.transitionnetwork.org.webarch.net/&lt;/a&gt; sites with the last MySQL dump from the live site and also copy across backups of the uploaded files and I have documented it at &lt;a class="wiki" href="http://localhost:8080/trac/wiki/DevelopmentServer#live2dev"&gt;DevelopmentServer#live2dev&lt;/a&gt; and the script can be viewed at &lt;a class="missing attachment"&gt;attachment:wiki:DevelopmentServer:live2dev.txt&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
There is one problem with it though, and I guess some additional SQL commands are needed to fix this, the link to the login page redirects users to the live server:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://dev.transitionnetwork.org.webarch.net/user/login"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://dev.transitionnetwork.org.webarch.net/user/login&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Has anyone got any idea why this is?
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>jim</dc:creator>

      <pubDate>Fri, 01 Oct 2010 16:50:26 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:5</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:5</guid>
      <description>
        &lt;p&gt;
This is because a few things need tweaking before what works in LIVE can work on a different domain.
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Secure Pages: wants a secure and non-secure base URL. These MUST match the domain, and by extension the cookie domain. A simple way is to add...
&lt;pre class="wiki"&gt;or `name` like '%secure%'
&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
...to the SQL I sent last night which then disables SSL all together. A more complex way is to correct these fields to match the correct base domain for DEV/TEST as part of the import script.
&lt;/p&gt;
&lt;ol start="2"&gt;&lt;li&gt;A lesser issue is the files/ folder location: For the new Workspaces subdomain, the sites use workspaces.[base domain] and hence Drupal multisite stores these sub-domains' details in /sites/workspaces.[base domain]. In here is that domain's own settings.php, plus tmp/ and files/ folders. Hence the database has a reference to the wrong path since the base domains are different. Not a biggie but worth noting.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
I would imagine these are both somewhere in the &lt;tt&gt;variables&lt;/tt&gt; table, stored as serialised data against the variable name. I'll have a look.
&lt;/p&gt;
&lt;p&gt;
Chris: This is all very good, but it'll need to be a manual process, at least for DEV since a developer could lose their work if an automatic sync happened whilst they were working. I assume this is manual and run with a ./live2dev command or something? TEST could be more automatic (weekly etc), but again often things are being pushed the other way (from DEV). Thoughts?
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>jim</dc:creator>

      <pubDate>Fri, 01 Oct 2010 16:55:12 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:6</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:6</guid>
      <description>
        &lt;p&gt;
OK... the "variable" table is the place... Data from my system, which has SSL disabled.
&lt;/p&gt;
&lt;p&gt;
Secure pages stuff:
&lt;/p&gt;
&lt;pre class="wiki"&gt;mysql&amp;gt; select * from variable where name like '%securepages_base%';
+--------------------------+---------+
| name                     | value   |
+--------------------------+---------+
| securepages_basepath     | s:0:""; |
| securepages_basepath_ssl | s:0:""; |
+--------------------------+---------+
2 rows in set (0.00 sec)
&lt;/pre&gt;&lt;p&gt;
File system paths:
&lt;/p&gt;
&lt;pre class="wiki"&gt;mysql&amp;gt; select * from variable where name like '%file_dir%';
+---------------------+-----------------------------+
| name                | value                       |
+---------------------+-----------------------------+
| file_directory_temp | s:4:"/tmp";                 |
| file_directory_path | s:19:"sites/default/files"; |
+---------------------+-----------------------------+
2 rows in set (0.00 sec)
&lt;/pre&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Fri, 01 Oct 2010 17:41:45 GMT</pubDate>
      <title>hours, totalhours changed</title>
      <link>http://localhost:8080/trac/ticket/124#comment:7</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:7</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;0.15&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;5.0&lt;/em&gt; to &lt;em&gt;5.15&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Thanks for the suggestions, it is a manual process, the live2dev script needs to be run on the command line to update a site.
&lt;/p&gt;
&lt;p&gt;
Do the numbers in these variables matter, eg the 32 and 33?
&lt;/p&gt;
&lt;pre class="wiki"&gt;+--------------------------+------------------------------------------------------+
| name                     | value                                                |
+--------------------------+------------------------------------------------------+
| securepages_basepath     | s:32:"http://dev.transitionnetwork.org.webarch.net/" |
| securepages_basepath_ssl | s:33:"https://www.transitionnetwork.org";            |
+--------------------------+------------------------------------------------------+
&lt;/pre&gt;&lt;p&gt;
If they do and are potentially going to change I can read them from the database and then update the fields with the same number and the correct URL.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>jim</dc:creator>

      <pubDate>Fri, 01 Oct 2010 18:12:11 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:8</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:8</guid>
      <description>
        &lt;p&gt;
It's serialised array data and in this case 's' means String, 32 is the number of characters (or bytes).
&lt;/p&gt;
&lt;p&gt;
More here: &lt;a class="ext-link" href="http://php.net/manual/en/function.serialize.php"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://php.net/manual/en/function.serialize.php&lt;/a&gt;
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>jim</dc:creator>

      <pubDate>Fri, 01 Oct 2010 18:13:14 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:9</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:9</guid>
      <description>
        &lt;p&gt;
In fact, perhaps it might be a good idea to call PHP's serialise() method here for safety?
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Sat, 02 Oct 2010 11:21:42 GMT</pubDate>
      <title>hours, totalhours changed</title>
      <link>http://localhost:8080/trac/ticket/124#comment:10</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:10</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;30.0&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;5.15&lt;/em&gt; to &lt;em&gt;35.15&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;blockquote class="citation"&gt;
&lt;p&gt;
In fact, perhaps it might be a good idea to call PHP's serialise() method here for safety?
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Good thinking, I've written a php script that we can use, it takes a string on the command line and serialises it, eg:
&lt;/p&gt;
&lt;pre class="wiki"&gt;./serialize.php http://dev.transitionnetwork.org.webarch.net/
s:45:"http://dev.transitionnetwork.org.webarch.net/";
&lt;/pre&gt;&lt;p&gt;
This is the script
&lt;/p&gt;
&lt;pre class="wiki"&gt;#!/usr/bin/php
&amp;lt;?php
if ($argc != 2 ) {
?&amp;gt;
This is a command line PHP script which requires a string to be passed to it on the command line.
  Usage:
  &amp;lt;?php echo $argv[0]; ?&amp;gt; &amp;lt;option&amp;gt;
  &amp;lt;option&amp;gt; the string you want to serialize
&amp;lt;?php
} else {
$serialized = serialize($argv[1]);
echo $serialized;
}
?&amp;gt;
&lt;/pre&gt;&lt;p&gt;
So, unless anyone can think of any problems with this I'll use it to serialise the strings we want to update for the dev and test sites.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Sat, 02 Oct 2010 11:37:26 GMT</pubDate>
      <title>hours, totalhours changed</title>
      <link>http://localhost:8080/trac/ticket/124#comment:11</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:11</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;-29.5&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;35.15&lt;/em&gt; to &lt;em&gt;5.65&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Opps I added 30 hours to this ticket rather than 30mins!
&lt;/p&gt;
&lt;p&gt;
Hopefully we can add negative hours to tickets to correct mistakes like this...
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 04 Oct 2010 14:19:02 GMT</pubDate>
      <title>hours, totalhours changed</title>
      <link>http://localhost:8080/trac/ticket/124#comment:12</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:12</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;1.0&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;5.65&lt;/em&gt; to &lt;em&gt;6.65&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
The latest version of the script, &lt;a class="attachment" href="http://localhost:8080/trac/attachment/wiki/DevelopmentServer/live2dev" title="Attachment 'live2dev' in DevelopmentServer"&gt;attachment:wiki:DevelopmentServer:live2dev&lt;/a&gt;&lt;a class="trac-rawlink" href="http://localhost:8080/trac/raw-attachment/wiki/DevelopmentServer/live2dev" title="Download"&gt;​&lt;/a&gt; calls a bash script, &lt;a class="attachment" href="http://localhost:8080/trac/attachment/wiki/DevelopmentServer/serialize.sh" title="Attachment 'serialize.sh' in DevelopmentServer"&gt;attachment:wiki:DevelopmentServer:serialize.sh&lt;/a&gt;&lt;a class="trac-rawlink" href="http://localhost:8080/trac/raw-attachment/wiki/DevelopmentServer/serialize.sh" title="Download"&gt;​&lt;/a&gt; which uses &lt;a class="attachment" href="http://localhost:8080/trac/attachment/wiki/DevelopmentServer/serialize.php" title="Attachment 'serialize.php' in DevelopmentServer"&gt;attachment:wiki:DevelopmentServer:serialize.php&lt;/a&gt;&lt;a class="trac-rawlink" href="http://localhost:8080/trac/raw-attachment/wiki/DevelopmentServer/serialize.php" title="Download"&gt;​&lt;/a&gt; to serialise the data that needs it.
&lt;/p&gt;
&lt;p&gt;
I think this script is now done, unless anything can think of any other things it should do?
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>jim</dc:creator>

      <pubDate>Wed, 13 Oct 2010 19:00:05 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:13</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:13</guid>
      <description>
        &lt;p&gt;
This is very good but I've noticed a couple of snags on DEV...
&lt;/p&gt;
&lt;p&gt;
1) The site can't handle the files any more due to a file ownership issue: /sites/default/files is owned by 'live', not root on Kiwi... Indeed all files are owned by 'root' or 'live'
&lt;/p&gt;
&lt;pre class="wiki"&gt;jim@kiwi:/web/dev.transitionnetwork.org.webarch.net/www/sites/default$ ls -al
total 108
drwxr-xr-x  4 root root  4096 2010-09-29 18:41 .
drwxr-xr-x  6 root root  4096 2010-09-16 17:49 ..
-rw-r--r--  1 root root  9724 2010-03-06 14:09 default.settings.php
drwxr-xr-x 24 live live 69632 2010-10-13 19:06 files
-rwxr-xr-x  1 root root 10269 2010-09-29 18:27 settings.php
drwxr-xr-x  6 root root  4096 2010-10-13 19:37 .svn
&lt;/pre&gt;&lt;p&gt;
Hence the server cannot access this directory and Drupal freaks out. I've chown'ed recursively to fix for now but this needs adding to the scripts ideally
&lt;/p&gt;
&lt;pre class="wiki"&gt;jim@kiwi:/web/dev.transitionnetwork.org.webarch.net/www$ sudo chown -R www-data:www-data .
&lt;/pre&gt;&lt;p&gt;
2) (maybe) All the tables starting "cache" tables need truncating/emptying so that weird caching issues don't happen.
&lt;/p&gt;
&lt;p&gt;
Apart from the above, all looks good!
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Fri, 05 Nov 2010 15:36:54 GMT</pubDate>
      <title>hours, totalhours changed</title>
      <link>http://localhost:8080/trac/ticket/124#comment:14</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:14</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;2.0&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;6.65&lt;/em&gt; to &lt;em&gt;8.65&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
I'm having to rewrite a lot of the script to make it work with a different format of DB dumps we have now (compared to the FreeBSD ones from gaia) and also it wasn't updating the workspaces databases.
&lt;/p&gt;
&lt;p&gt;
I'm working on it now so the dev site is probably unusable till I'm done!
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Thu, 11 Nov 2010 14:50:13 GMT</pubDate>
      <title>cc, hours, status, totalhours changed; resolution set</title>
      <link>http://localhost:8080/trac/ticket/124#comment:15</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:15</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;cc&lt;/strong&gt;
              &lt;em&gt;jim&lt;/em&gt; added
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;1.0&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;
                changed from &lt;em&gt;new&lt;/em&gt; to &lt;em&gt;closed&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;resolution&lt;/strong&gt;
                set to &lt;em&gt;fixed&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;8.65&lt;/em&gt; to &lt;em&gt;9.65&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
The scripts and docs are now all up to date following the server move &lt;a class="ext-link" href="http://trac.edgewall.org/intertrac/ticket/147" title="ticket/147 in Trac project trac"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;trac:ticket/147&lt;/a&gt;, see &lt;a class="wiki" href="http://localhost:8080/trac/wiki/NewLiveServer#backup2kiwiwiki"&gt;wiki:NewLiveServer#backup2kiwiwiki&lt;/a&gt;, wiki/DevelopmentServer#live2dev and wiki/DevelopmentServer#wiki-live2dev.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Thu, 11 Nov 2010 14:57:14 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/124#comment:16</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/124#comment:16</guid>
      <description>
        &lt;p&gt;
Oops, 3 of the links were wrong, that'll teach me not to preview posts! I should have posted:
&lt;/p&gt;
&lt;p&gt;
The scripts and docs are now all up to date following the server move &lt;a class="closed ticket" href="http://localhost:8080/trac/ticket/147" title="defect: Migration of live server (closed: fixed)"&gt;ticket:147&lt;/a&gt;, see &lt;a class="wiki" href="http://localhost:8080/trac/wiki/NewLiveServer#backup2kiwiwiki"&gt;wiki:NewLiveServer#backup2kiwiwiki&lt;/a&gt;, &lt;a class="wiki" href="http://localhost:8080/trac/wiki/DevelopmentServer#live2dev"&gt;wiki:DevelopmentServer#live2dev&lt;/a&gt; and &lt;a class="wiki" href="http://localhost:8080/trac/wiki/DevelopmentServer#wiki-live2dev"&gt;wiki:DevelopmentServer#wiki-live2dev&lt;/a&gt;.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item>
 </channel>
</rss>