#!/bin/bash print_usage() { echo "Usage:" echo " $0 " echo " $0 -s -b " echo " $0 -b -s " echo echo "Examples:" echo " $0 ../data/ ../backups/" echo " $0 -s ../data/ -b ../backups/" echo " $0 -b ../backups/ -s ../data/" } if [[ $# -eq 0 ]]; then print_usage exit fi if [[ $# -eq 2 && $1 != -* && $2 != -* ]]; then SOURCE=$1 BACKUP=$2 elif [[ $# -eq 4 ]]; then while [[ $# -gt 0 ]]; do case $1 in -s) SOURCE=$2 shift 2 ;; -b) BACKUP=$2 shift 2 ;; *) print_usage exit ;; esac done else print_usage exit fi if [[ -z "$SOURCE" || -z "$BACKUP" ]]; then print_usage exit fi if [[ ! -d "$SOURCE" ]]; then echo "Error: '$SOURCE' is not a valid directory" exit fi mkdir -p "$BACKUP" cp -r "$SOURCE"/* "$BACKUP"/ echo "Backup completed successfully!"