Rsync
De Admin -- TALEVAS.
(Différences entre les versions)
(rsync, exlcude-from-file, from-file) |
|||
| (Une révision intermédiaire par un utilisateur est masquée) | |||
| Ligne 1 : | Ligne 1 : | ||
== RSYNC -- EXCLUDE-FROM-FILE -- FROM-FILE == | == RSYNC -- EXCLUDE-FROM-FILE -- FROM-FILE == | ||
| − | + | #!/bin/bash | |
| − | #!/bin/bash | + | |
| − | + | serveur="SERVEUR" | |
| − | serveur="SERVEUR" | + | exclude="/PATH/exclude-sync.file" |
| − | exclude="/PATH/exclude-sync.file" | + | |
| − | + | settime() | |
| − | settime() | + | { |
| − | { | + | if [ -e /PATH/${serveur}.time ] |
| − | if [ -e /PATH/${serveur}.time ] | + | then |
| − | then | + | |
echo "time OK" | echo "time OK" | ||
| − | else | + | else |
touch -t 197001010000 /PATH/${serveur}.time | touch -t 197001010000 /PATH/${serveur}.time | ||
| − | fi | + | fi |
| − | } | + | } |
| − | + | ||
| − | ########################################################## | + | ########################################################## |
| − | # | + | # |
| − | # DEBUT SYNC | + | # DEBUT SYNC |
| − | # | + | # |
| − | ########################################################## | + | ########################################################## |
| − | + | ||
| − | scp -p ${serveur}:/PATH/${serveur}.time /PATH/${serveur}.time | + | scp -p ${serveur}:/PATH/${serveur}.time /PATH/${serveur}.time |
| − | + | ||
| − | settime | + | settime |
| − | + | ||
| − | rsync -a --files-from=<(find /PATH-X -cnewer /PATH/${serveur}.time -print) --exclude-from=${exclude} / ${serveur}:/ | grep -v rsync | + | rsync -a --files-from=<(find /PATH-X -cnewer /PATH/${serveur}.time -print) --exclude-from=${exclude} / ${serveur}:/ | grep -v rsync |
| − | rsync -a --files-from=<(find /PATH-Y -cnewer /PATH/${serveur}.time -print) --exclude-from=${exclude} / ${serveur}:/ | grep -v rsync | + | rsync -a --files-from=<(find /PATH-Y -cnewer /PATH/${serveur}.time -print) --exclude-from=${exclude} / ${serveur}:/ | grep -v rsync |
| − | touch /PATH/${serveur}.time | + | touch /PATH/${serveur}.time |
| − | scp -p /PATH/${serveur}.time ${serveur}:/PATH/${serveur}.time | + | scp -p /PATH/${serveur}.time ${serveur}:/PATH/${serveur}.time |
| − | + | ||
Version actuelle en date du 4 juillet 2013 à 09:56
RSYNC -- EXCLUDE-FROM-FILE -- FROM-FILE
#!/bin/bash
serveur="SERVEUR"
exclude="/PATH/exclude-sync.file"
settime()
{
if [ -e /PATH/${serveur}.time ]
then
echo "time OK"
else
touch -t 197001010000 /PATH/${serveur}.time
fi
}
##########################################################
#
# DEBUT SYNC
#
##########################################################
scp -p ${serveur}:/PATH/${serveur}.time /PATH/${serveur}.time
settime
rsync -a --files-from=<(find /PATH-X -cnewer /PATH/${serveur}.time -print) --exclude-from=${exclude} / ${serveur}:/ | grep -v rsync
rsync -a --files-from=<(find /PATH-Y -cnewer /PATH/${serveur}.time -print) --exclude-from=${exclude} / ${serveur}:/ | grep -v rsync
touch /PATH/${serveur}.time
scp -p /PATH/${serveur}.time ${serveur}:/PATH/${serveur}.time