https://wiki.xmission.com/index.php?title=Rsync_Backup_Script&feed=atom&action=history
Rsync Backup Script - Revision history
2024-03-28T19:55:40Z
Revision history for this page on the wiki
MediaWiki 1.28.2
https://wiki.xmission.com/index.php?title=Rsync_Backup_Script&diff=6075&oldid=prev
Jab at 04:46, 28 January 2014
2014-01-28T04:46:23Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 04:46, 28 January 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l58" >Line 58:</td>
<td colspan="2" class="diff-lineno">Line 58:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>done</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>done</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Troubleshooting]]</ins></div></td></tr>
</table>
Jab
https://wiki.xmission.com/index.php?title=Rsync_Backup_Script&diff=2592&oldid=prev
Pashdown: fix script
2009-05-01T15:02:11Z
<p>fix script</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 15:02, 1 May 2009</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l13" >Line 13:</td>
<td colspan="2" class="diff-lineno">Line 13:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>DATE=`date +%Y%m%d-%H%M%S`</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>DATE=`date +%Y%m%d-%H%M%S`</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>ssh $SERVER "if [ ! -f $SERVERDIR/log; then mkdir $SERVERDIR/log; \</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>ssh $SERVER "if [ ! -f $SERVERDIR/log <ins class="diffchange diffchange-inline">]</ins>; then mkdir $SERVERDIR/log; \</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   fi;</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   fi;</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>   if [ ! -f $SERVERDIR/$HOST/daily.0; then mkdir $SERVERDIR/$HOST/daily.0; \</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>   if [ ! -f $SERVERDIR/$HOST/daily.0 <ins class="diffchange diffchange-inline">]</ins>; then mkdir $SERVERDIR/$HOST/daily.0; \</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   fi"</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   fi"</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
Pashdown
https://wiki.xmission.com/index.php?title=Rsync_Backup_Script&diff=2591&oldid=prev
Pashdown: rsync script v1.0
2009-04-30T20:39:40Z
<p>rsync script v1.0</p>
<p><b>New page</b></p><div>==Introduction==<br />
This is a sample backup script, utilizing rsync, which will backup a Linux or Mac OS X system to XMission's [[Remote Drive]] service. It can be adapted easily for other servers.<br />
<br />
After the initial copy, it only backs up incremental changes, saving you time and storage.<br />
==Script==<br />
<pre>#!/bin/bash<br />
HOST=`hostname -s`<br />
EXCLUDE='--exclude=**/[Cc]ache/**'<br />
RSYNC_ARGS="-vaz --progress --delete --delete-excluded --delete-after $EXCLUDE"<br />
BACKUP_DIRS="/var/www /home /etc /usr/local /var/spool/cron /var/lib"<br />
SERVER="shell.xmission.com"<br />
SERVERDIR="backup"<br />
DATE=`date +%Y%m%d-%H%M%S`<br />
<br />
ssh $SERVER "if [ ! -f $SERVERDIR/log; then mkdir $SERVERDIR/log; \<br />
fi;<br />
if [ ! -f $SERVERDIR/$HOST/daily.0; then mkdir $SERVERDIR/$HOST/daily.0; \<br />
fi"<br />
<br />
ssh $SERVER "rm -rf $SERVERDIR/$HOST/daily.8; \<br />
mv $SERVERDIR/$HOST/daily.7 $SERVERDIR/$HOST/daily.8; \<br />
mv $SERVERDIR/$HOST/daily.6 $SERVERDIR/$HOST/daily.7; \<br />
mv $SERVERDIR/$HOST/daily.5 $SERVERDIR/$HOST/daily.6; \<br />
mv $SERVERDIR/$HOST/daily.4 $SERVERDIR/$HOST/daily.5; \<br />
mv $SERVERDIR/$HOST/daily.3 $SERVERDIR/$HOST/daily.4; \<br />
mv $SERVERDIR/$HOST/daily.2 $SERVERDIR/$HOST/daily.3; \<br />
mv $SERVERDIR/$HOST/daily.1 $SERVERDIR/$HOST/daily.2; \<br />
cp -al $SERVERDIR/$HOST/daily.0 $SERVERDIR/$HOST/daily.1"<br />
<br />
for DIR in $BACKUP_DIRS; do<br />
rsync $RSYNC_ARGS $DIR ${SERVER}:$SERVERDIR/$HOST/daily.0/ >>/tmp/$HOST-$DATE<br />
done<br />
<br />
gzip --best /tmp/$HOST-$DATE<br />
<br />
scp /tmp/$HOST-$DATE.gz $SERVER:$SERVERDIR/log<br />
<br />
rm /tmp/$HOST-$DATE.gz<br />
</pre><br />
==Cron Entry==<br />
You will need a cron entry to rotate out the old weekly directories and prune the log files, depending on how long you want to keep them. The below example keeps a month's worth of weekly incremental backups.<br />
<pre><br />
15 3 * * Sun backup-weekly >/dev/null 2>&1<br />
0 5 * * * find backup/log -type f -mtime +14 -exec rm -rf {} \;<br />
</pre><br />
backup-weekly script:<br />
<pre><br />
#!/bin/sh<br />
<br />
cd backup<br />
for DIR in `ls -1d */daily.8 | awk -F / '{print $1}'`; do<br />
cd $DIR<br />
rm -rf weekly.[3456789]<br />
mv weekly.2 weekly.3<br />
mv weekly.1 weekly.2<br />
mv daily.8 weekly.0<br />
cd ..<br />
done<br />
</pre></div>
Pashdown