Wouldn't it be better to use conditional expressions from sh with a
smaller footprint than rsync --list to check if the directory exists?
I think on something like:
-d file
True if file exists and is a directory.
(source: man sh)
Cheers,
Vitorio
Le 18 mars 10 à 17:30, Linux Expert a écrit :
Yes, it'll sync the source directory (now empty) to Server B,
deleting everything due to the --delete option.
One solution I use is to place a check for the existence of a
subdirectory just before the rsync command in the script. This was
you can make rsync contingent on the existence of that subdirectory,
possibly notifying you via email when it is not there.
So if you had a subdirectory named "data" directly in the folder
you're syncing, your script (bash) would have something like the
following:
rsync --list server::folder/data 1>/dev/null 2>/dev/null
if [ $? eq 0 ]
then
rsync -a –delete server::folder /folder
else
mutt -nx -s "rsync skipped due to missing directory!" <youremail>
fi
The idea is that you first tell rsync to list all files under the
folder/data directory. If that directory doesn't exist, the command
will fail with a non-zero exit value. This is precisely what you
check in the if conditional. Now your rsync will either sync
properly with the assurance that the source folder is still there,
or notify you via email.
These commands, exit values, etc should all be tested on your
server. You may not even have mutt installed, or an MTA (ie:
Postfix) configured. Testing is key.
On Thu, Mar 18, 2010 at 8:46 AM, Christian Röder
<c...@strassenfeger.tv> wrote:
I was just pondering:
Lets look at Server A with one extra harddisc hdb, where hdb1 is
mounted at /mnt/folder.
/mnt/folder is the folder which should be mirrored on Server B.
So Server B rsyncs
rsynch -a –delete server::folder /folder
from Server A and gets all the new files and deletes all the files,
which doesn't exist on Server A's /mnt/folder anymore.
What would happen, if the harddisc hdb would fail?
Will this happen?:
harddisc hdb failes
hdb1 is not automatically mounted at /mnt/folder
Server B rsyncs from Server A, but /mnt/folder is empty, so rsync
deletes every file in the mirror folder on Server B?
Are my assumptions correct?
Thanks in advance,
Christian
--
Please use reply-all for most replies to avoid omitting the mailing
list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
--
Please use reply-all for most replies to avoid omitting the mailing
list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
--
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html