Untitled

 avatar
unknown
plain_text
a month ago
1.3 kB
4
Indexable
#!/bin/bash


validate_inputs() {
    if [[ -z "$BACKUP_DIR" || -z "$COMPRESSION" || -z "$BACKUP_DEST" ]]; then
        echo "Error: Missing arguments."
        echo "Usage: $0 -d <directory_to_backup> -c <zip|tar> -o <backup_destination>"
        exit 1
    fi

    if [[ ! -d "$BACKUP_DIR" ]]; then
        echo "Error: Directory $BACKUP_DIR does not exist!"
        exit 1
    fi

    if [[ -d "$BACKUP_DEST" ]]; then
        if [[ ! -w "$BACKUP_DEST" ]]; then
            echo "Error: Backup destination $BACKUP_DEST is not writable!"
            exit 1
        fi
    else
        echo "creating backup destination directory $BACKUP_DEST"
        mkdir -p "$BACKUP_DEST"
        if [[ $? -ne 0 ]]; then
            echo "Error: Failed to create backup destination directory $BACKUP_DEST!"
            exit 1
        fi
        chmod 755 "$BACKUP_DEST"
    fi

    if [[ "$COMPRESSION" != "zip" && "$COMPRESSION" != "tar" ]]; then
        echo "Error: Invalid compression method. Use 'zip' or 'tar'."
        exit 1
    fi

}



perform_backup() {

}


clean_old_backups() {

}


while getopts "d:c:o:" opt; do
    case ${opt} in
        d ) BACKUP_DIR=$OPTARG ;;
        c ) COMPRESSION=$OPTARG ;;
        o ) BACKUP_DEST=$OPTARG ;;
    esac
done

validate_inputs
perform_backup
clean_old_backups
Editor is loading...
Leave a Comment