1
0
Fork 0
mirror of https://github.com/overleaf/toolkit.git synced 2025-04-24 09:48:07 +02:00
overleaf-toolkit/bin/backup-config

58 lines
1.3 KiB
Text
Raw Permalink Normal View History

2020-06-12 10:54:27 +01:00
#! /usr/bin/env bash
set -euo pipefail
function usage() {
echo "Usage: bin/backup-config [OPTIONS] [DESTINATION]"
echo ""
echo "Backup configuration files, to DESTINATION"
echo ""
echo "Options:"
echo " -m mode: zip | tar | copy (default=copy)"
echo ""
echo "Examples:"
echo ""
echo " bin/backup-config -m zip ~/overleaf-config-backup.zip"
echo ""
echo " bin/backup-config -m tar ~/overleaf-config-backup.tar"
echo ""
echo " bin/backup-config -m copy ~/overleaf-config-backup"
echo ""
echo " bin/backup-config ~/overleaf-config-backup"
echo ""
}
function __main__() {
mode='copy'
while getopts "m:" opt
do
case $opt in
m ) mode="${OPTARG}" ;;
\?) usage && exit ;;
esac
done
shift $(( OPTIND -1 ))
if [[ "${1:-null}" == "null" ]] \
|| [[ "${1:-null}" == "help" ]] \
|| [[ "${1:-null}" == "--help" ]] ; then
usage && exit
fi
destination="$1"
if [[ "$mode" == "copy" ]]; then
cp -r config "$destination"
elif [[ "$mode" == "zip" ]]; then
zip -r "$destination" config
elif [[ "$mode" == "tar" ]]; then
tar -cf "$destination" config/*
2020-06-12 10:57:57 +01:00
else
echo "Error: unrecognized mode '$mode'"
exit 1
2020-06-12 10:54:27 +01:00
fi
}
__main__ "$@"