-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup.sh
More file actions
executable file
·63 lines (42 loc) · 1.3 KB
/
Copy pathbackup.sh
File metadata and controls
executable file
·63 lines (42 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
# =======================
# Author Hemanth Kumar HV
# 4 March 2026.
# =======================
# ===============================
# Hybrid Cloud Backup Script
# Local Server (Ubuntu) + AWS S3
# ===============================
# Source directory containing files to backup
SOURCE_DIR="/home/hemanthhk/hybrid-cloud-backup/data"
if [ ! -d $SOURCE_DIR ]
then
echo " Directory does not exist : $SOURCE_DIR "
exit 1
fi
# Local backup storage directory
BACKUP_DIR="/home/hemanthhk/hybrid-cloud-backup/backups"
if [ ! -d $BACKUP_DIR ]
then
echo " NO such Directory : $BACKUP_DIR"
exit 1
fi
# Log file location
LOG_FILE="/home/hemanthhk/hybrid-cloud-backup/logs/backup.log"
# AWS S3 bucket name
BUCKET_NAME="hemanth-hybrid-backup"
# Generate timestamp
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
# Backup file name
BACKUP_FILE="$BACKUP_DIR/backup_$TIMESTAMP.tar.gz"
echo "Starting backup process..."
# Create compressed backup
tar -czf $BACKUP_FILE $SOURCE_DIR
echo "$(date) - Backup created: $BACKUP_FILE" >> $LOG_FILE
# Upload backup to AWS S3
aws s3 cp $BACKUP_FILE s3://$BUCKET_NAME/
echo "$(date) - Backup uploaded to AWS S3" >> $LOG_FILE
# Delete backups older than 7 days
find $BACKUP_DIR -type f -mtime +7 -delete
echo "$(date) - Old backups cleaned" >> $LOG_FILE
echo "Backup process completed!"