Untitled
unknown
plain_text
9 months ago
1.3 kB
7
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_backupsEditor is loading...
Leave a Comment