mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-14 13:53:22 +00:00
chore(scripts): backup scripts tweaks and license
This commit is contained in:
35
local/bin/x-backup-folder
Executable file
35
local/bin/x-backup-folder
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Backup a folder with a timestamp
|
||||
# Usage: x-backup-folder folder_to_backup [filename]
|
||||
# If filename is not provided, folder_to_backup will be used
|
||||
# Example: x-backup-folder ~/Documents/MyFolder
|
||||
#
|
||||
# Copyright (c) 2022 Ismo Vuorinen. All Rights Reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
DIRECTORY=$1
|
||||
FILENAME=$2
|
||||
|
||||
if [ -z "${DIRECTORY}" ]; then
|
||||
echo "DIRECTORY (first argument) is missing"
|
||||
echo "Usage: $0 folder_to_backup"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "${FILENAME}" ]; then
|
||||
FILENAME=$DIRECTORY
|
||||
fi
|
||||
|
||||
FILENAME=$(
|
||||
${FILENAME} \
|
||||
| tr '/' _ \
|
||||
| iconv -t ascii//TRANSLIT \
|
||||
| sed -r s/[^a-zA-Z0-9]+/_/g \
|
||||
| sed -r s/^_+\|-+$//g
|
||||
)
|
||||
|
||||
TIMESTAMP=$(date "+%Y%m%d_%H%M%S")
|
||||
FILENAME_TIMESTAMP="${FILENAME}_${TIMESTAMP}"
|
||||
|
||||
tar cvzf "${FILENAME_TIMESTAMP}.tar.gz" "${DIRECTORY}/"
|
||||
Reference in New Issue
Block a user