add --name option and fix hostname part on lastFullBackup
This commit is contained in:
parent
107851b42d
commit
178fec87b2
1 changed files with 17 additions and 3 deletions
20
kyanite.sh
20
kyanite.sh
|
@ -2,12 +2,15 @@
|
|||
|
||||
helpme() {
|
||||
echo "usage:"
|
||||
echo " $0 full|partial|restore SRC DEST [options]"
|
||||
echo " $0 full|partial|restore [--name NAME] SRC DEST [options]"
|
||||
echo " COMMANDS:"
|
||||
echo " full: Make a full backup of SRC to DEST/HOST/TIMESTAMP_full/"
|
||||
echo " partial: Make partial backup of SRC to DEST/HOST/TIMESTAMP_part/"
|
||||
echo " relative to the latest full backup in that directory"
|
||||
echo " restore: Restore the backup at DEST/ to SRC/"
|
||||
echo " NAME:"
|
||||
echo " Force main subdir inside DEST instead of hostname."
|
||||
echo " Useful if backing up, eg, external media."
|
||||
echo " SRC:"
|
||||
echo " Relative or absolute path for the source to backup or restore from."
|
||||
echo " When backing up, can be a remote path in the form of user@host:path;"
|
||||
|
@ -37,6 +40,12 @@ else mode=none;
|
|||
fi
|
||||
shift;
|
||||
|
||||
if [ "$1" = "--name" ]; then
|
||||
shift
|
||||
forcedName=$1;
|
||||
shift;
|
||||
fi
|
||||
|
||||
srcDir=$1;
|
||||
shift;
|
||||
|
||||
|
@ -45,8 +54,13 @@ remoteHost=$(echo $srcDir | awk -F : '{ print $1 }' | awk -F @ '{ print $2 }');
|
|||
|
||||
if [ ! -z "${remoteHost}" ]; then
|
||||
host=${remoteHost};
|
||||
else host=$(hostname)
|
||||
else host=$(hostname);
|
||||
fi
|
||||
|
||||
if [ ! -z "${forcedName}" ]; then
|
||||
host=${forcedName};
|
||||
fi
|
||||
|
||||
shift;
|
||||
|
||||
case $mode in
|
||||
|
@ -57,7 +71,7 @@ case $mode in
|
|||
;;
|
||||
part)
|
||||
fullDest=${destDir}/${host}/$(date +%Y-%m-%d_%H:%M)_part;
|
||||
lastFullBackup=$(ls -1d ${destDir}/$(hostname)/*_full | tail -n 1);
|
||||
lastFullBackup=$(ls -1d ${destDir}/${host}/*_full | tail -n 1);
|
||||
mkdir -p ${fullDest};
|
||||
rsync -av --link-dest=${lastFullBackup} $@ ${srcDir} ${fullDest};
|
||||
;;
|
||||
|
|
Loading…
Reference in a new issue