Skip to content

Commit 33f67e5

Browse files
committed
Added backup_dir config
1 parent b26468f commit 33f67e5

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

.env.example

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1+
# DB connection
12
db_host=""
23
db_user=""
34
db_pass=""
5+
6+
# Maxiumum number of parallel jobs
47
max_parallel=10
5-
max_backups=5
8+
9+
# Keeping the last 5 backups
10+
max_backups=5
11+
12+
# Backup directory
13+
backup_dir="backup/"

dump.sh

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ export $(cat .env | xargs)
2929
timestamp=$(date +"%Y%m%d-%H%M%S")
3030

3131
# Make sure backup directory exists
32-
mkdir -p "backup/$timestamp"
32+
mkdir -p "$backup_dir/$timestamp"
3333

3434
# Function to cleanup old backups
3535
cleanup_old_backups() {
36-
local backup_dir="backup/"
36+
local backup_dir="$1"
3737
local backups=($(ls -t "$backup_dir" | grep "^[0-9]*-[0-9]*$"))
3838
local num_backups=${#backups[@]}
3939

@@ -53,14 +53,15 @@ backup_db() {
5353
local db_pass="$3"
5454
local db_host="$4"
5555
local timestamp="$5"
56+
local backup_dir="$6"
5657

5758
echo "Backing up $db"
5859
mysqldump \
5960
--user="$db_user" --password="$db_pass" \
6061
--host="$db_host" \
6162
--single-transaction \
6263
--skip-lock-tables \
63-
$db | gzip > "backup/$timestamp/$db.sql.gz"
64+
$db | gzip > "$backup_dir/$timestamp/$db.sql.gz"
6465

6566
echo "Backup of $db completed"
6667
}
@@ -70,11 +71,11 @@ export -f backup_db
7071
databases=$(mysql -h $db_host -u $db_user --password="$db_pass" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql|sys|vapor)")
7172

7273
# Run export job
73-
echo "$databases" | parallel -j $max_parallel backup_db {} $db_user $db_pass $db_host $timestamp
74+
echo "$databases" | parallel -j $max_parallel backup_db {} $db_user $db_pass $db_host $timestamp $backup_dir
7475

7576
# Clean up old backups
7677
echo "Cleaning up old backups"
77-
cleanup_old_backups
78+
cleanup_old_backups $backup_dir
7879

7980
# Done
8081
echo -e "\n\nBackup completed\n"

0 commit comments

Comments
 (0)