102 lines
2.4 KiB
Bash
102 lines
2.4 KiB
Bash
#!/usr/bin/env zsh
|
|
|
|
# Author: Yann Esposito
|
|
# Mail: yann.esposito@gmail.com
|
|
# Synchronize with "mobileMe" iDisk account.
|
|
|
|
mobileMeUser="firstname.lastname"
|
|
siteName="siteName"
|
|
|
|
# Depending of my hostname the
|
|
if [[ $(hostname) == 'ubuntu' ]]; then
|
|
iDisk='/mnt/iDisk'
|
|
else
|
|
iDisk="/Volumes/$mobileMeUser"
|
|
fi
|
|
|
|
root=$HOME/Sites/$siteName
|
|
destRep=$iDisk/Web/Sites/$siteName
|
|
|
|
[[ ! -d $root ]] && {
|
|
print -- "$root does not exist ; please verify the configuration ($0)" >&2;
|
|
exit 1
|
|
}
|
|
|
|
[[ ! -d $destRep ]] && {
|
|
print -- "$destRep does not exist, please mount the filesystem" >&2;
|
|
exit 1
|
|
}
|
|
|
|
if [[ $1 == '-h' ]]; then
|
|
print -- "usage: $0:h [-h|-a|-s]"
|
|
print -- " -a sychronize primary index"
|
|
print -- " -h show this help"
|
|
print -- " -s only swap directories"
|
|
fi
|
|
|
|
if [[ $1 == '-a' ]]; then
|
|
print -- "Index synchronisation (${destRep:h})"
|
|
rsync -av $root/index.html ${destRep:h}/index.html
|
|
fi
|
|
|
|
print -- "Root = $root"
|
|
print -- "Dest = $destRep"
|
|
|
|
if [[ ! $1 = '-s' ]]; then
|
|
[[ ! -d $destRep.tmp ]] && mkdir $destRep.tmp
|
|
print -P -- "%B[Sync => tmp]%b"
|
|
result=1
|
|
essai=1
|
|
while (( $result > 0 )); do
|
|
rsync -arv $root/Scratch/ $destRep.tmp
|
|
result=$?
|
|
if (( $result > 0 )); then
|
|
print -P -- "%Brsync failed%b (try n°$essai)" >&2
|
|
fi
|
|
((essai++))
|
|
done
|
|
fi
|
|
|
|
# SWAP
|
|
print -P -- "%B[Directory Swap (tmp <=> target)]%b"
|
|
essai=1
|
|
while [[ -e $destRep.old ]]; do
|
|
print -n -- "remove $destRep.old"
|
|
if ((essai>1)); then
|
|
print " (try n°$essai)"
|
|
else
|
|
print
|
|
fi
|
|
((essai++))
|
|
\rm -rf $destRep.old
|
|
done
|
|
|
|
print -- " renommage du repertoire sandard vers le .old"
|
|
essai=1
|
|
while [[ -e $destRep ]]; do
|
|
mv $destRep $destRep.old
|
|
(($?)) && print -- "Failed to rename (try n°$essai)" >&2
|
|
((essai++))
|
|
done
|
|
|
|
print -- " renaming folder tmp (new) to the standard one"
|
|
print -P -- " %BThe WebSite isn't working%b $(date)"
|
|
essai=1
|
|
while [[ ! -e $destRep ]]; do
|
|
mv $destRep.tmp $destRep
|
|
(($?)) && print -P -- "%B[WebSite not working]%b(try n°$essai) Failed to rename (mv $destRep.tmp $destRep)" >&2
|
|
((essai++))
|
|
done
|
|
|
|
print -P -- "\t===\t%BWEBSITE SHOULD WORK NOW%b\t==="
|
|
|
|
print -- " rename old folder to tmp folder"
|
|
essai=1
|
|
while [[ ! -e $destRep ]]; do
|
|
mv $destRep.old $destRep.tmp
|
|
(($?)) && print -P -- "Failed to rename n°$essai" >&2
|
|
((essai++))
|
|
done
|
|
|
|
print -P -- " Publish terminated"
|