<div dir="ltr">The answer:<br><br>I fixed the bug by . . .<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>. . . removing " --delete" from line 4 of the script.<br><br>Now I have the problem that, if a file has been synced, you cannot delete it.  It reappears at the next sync.<br>
<br>What I want to happen is to go through each user in /home and see which version is most recent (the one on server1 or the one on server2).  Then I want to only rsync from most recent to older, with the "--delete" option to remove files that were deleted recently.<br>
<br>I can imagine having a script (running on server2) that does a local "ls -l /home" and a "ssh server2.ltsp ls -l /home" and compares the modification times and then does the rsync in the appropriate direction for each user's directory.<br>
<br>Can anyone think of a more elegant solution?<br><br><br><br><div class="gmail_quote">On Sun, Oct 12, 2008 at 2:03 PM, Stephen Crampton <span dir="ltr"><<a href="mailto:SteveSings@gmail.com">SteveSings@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">At bottom is a script I wrote to sync the files between two K12LTSP servers.  server1 is <a href="http://192.168.0.254/" target="_blank">192.168.0.254</a> and server2 is <a href="http://192.168.0.253/" target="_blank">192.168.0.253</a>.<br>

<br>
I put the script in /etc/cron.hourly.  It seems to work, except the log
files are not created unless I run the script manually (as root).<br><br>I would appreciate any comments/corrections.  Thanks!<br><br><br>---------------------------------------------------------------------------------------------------------------------<br>

<div dir="ltr">
<br><br>#!/bin/bash<br>LOGFILE="/var/log/rsync.log"<br>ERRFILE="/var/log/rsync.errors"<br>RSYNCCMD="rsync -ahtuvz -e ssh --delete"<br>RSYNC="nice "$RSYNCCMD<br>DATE=`date`<br>ps aux | grep -e "$RSYNCCMD" | grep -v grep &&<br>


  echo "We appear to be already running." &&<br>  sleep 2 &&<br>  exit -1<br>echo "" >>$LOGFILE<br>echo "***********************************************************" >>$LOGFILE<br>


echo "rsync $DATE" >>$LOGFILE<br>echo "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" >>$LOGFILE<br>echo "" >>$LOGFILE<br>echo "" >>$ERRFILE<br>


echo "***********************************************************" >>$ERRFILE<br>echo "rsync $DATE" >>$ERRFILE<br>echo "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" >>$ERRFILE<br>


echo "" >>$ERRFILE<br>#<br>$RSYNC server1.ltsp::home /home 1>>$LOGFILE 2>>$ERRFILE<br>#<br>$RSYNC /home/ server1.ltsp::home 1>>$LOGFILE 2>>$ERRFILE<br>#<br>$RSYNC server1.ltsp::html /var/www/html 1>>$LOGFILE 2>>$ERRFILE<br>


#<br>$RSYNC /var/www/html/ server1.ltsp::html 1>>$LOGFILE 2>>$ERRFILE<br>#<br>$RSYNC
server1.ltsp::'etc/passwd etc/shadow etc/group etc/gshadow
etc/default/useradd etc/skel etc/login.defs etc/desktop-profiles' /etc
1>>$LOGFILE 2>>$ERRFILE<br>
#<br>$RSYNC /etc/passwd
/etc/shadow /etc/group /etc/gshadow /etc/default/useradd /etc/skel
/etc/login.defs /etc/desktop-profiles server1.ltsp::etc
1>>$LOGFILE 2>>$ERRFILE<br>echo "" >>$LOGFILE<br>
echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >>$LOGFILE<br>echo "rsync $DATE" >>$LOGFILE<br>echo "***********************************************************" >>$LOGFILE<br>


echo "" >>$ERRFILE<br>echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" >>$ERRFILE<br>echo "rsync $DATE" >>$ERRFILE<br>echo "***********************************************************" >>$ERRFILE<br>


LOCKS='/tmp/gconfd-* /tmp/mapping-* /tmp/orbit-*'<br>rm -rf $LOCKS<br>ssh server1.ltsp rm -rf $LOCKS<br>exit 0<br><br></div></div>
</blockquote></div><br></div>