Skip to content

Instantly share code, notes, and snippets.

@YoussefLagtab
Created November 13, 2021 19:22
Show Gist options
  • Save YoussefLagtab/d86f3989957302bb6ed9d1bd679d8a76 to your computer and use it in GitHub Desktop.
Save YoussefLagtab/d86f3989957302bb6ed9d1bd679d8a76 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# variables
rclone_remote_dir="1337:ft_linux"
dir_to_backup="~/goifre/vms/ft_linux"
log_dir=~/.local/var/log/backup_vms
upload_log=$log_dir/upload.log
upload_progress=$log_dir/upload.progress
restore_log=$log_dir/restore.log
restore_progress=$log_dir/restore.progress
protection_file=$log_dir/.started;
# configure printing
mkdir -p $log_dir;
# upload
function upload()
{
[ -f $protection_file ] && echo upload already started || return 1;
echo + stared upload at: `date`;
rclone copy $dir_to_backup $rclone_remote_dir --progress -bwlimit 8M 1> $upload_progress;
echo + finshed uploading at: `date`;
}
# restore
function restore()
{
mkdir -p `dirname $dir_to_backup`;
[ -f $dir_to_backup/ft_linux.vdi ] && echo ft_linux already exist locally, override\[yn\] ?:;
read override
[ $override -ne "y" ] && return 1;
echo + started restore at: `date`;
rclone copy $rclone_remote_dir $dir_to_backup --progress -bwlimit 8M 1> $restore_progress;
echo + finished restore at: `date`;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment