#!/bin/bash
[ $UID -
eq
0 ] || (
echo
"Must be root to run this script."
&&
exit
1 )
save_days=10
backup_path=
/data/confluence_backup_directory
backup_path_time_uniq=$(
date
-d
"yesterday"
+
"%Y%m%d"
)
confluence_home_directory=
/data/var/atlassian/application-data/confluence
confluence_server_ipaddress_public=xxx.xxx.xxx.xxx
confluence_server_ipaddress_private=xxx.xxx.xxx.xxx
confluence_server_hostname=${confluence_server_ipaddress_private:-$confluence_server_ipaddress_public}
confluence_server_ssh_username=root
confluence_server_ssh_port=$(
netstat
-anop |
awk
'/sshd/ && /LISTEN/ {print $4}'
|
awk
-F
':'
'{print $2}'
)
confluence_server_ssh_hostname=$confluence_server_hostname
backup_files=(confluence.cfg.xml attachments index)
backup_files_num=${
[ -d $backup_path/$backup_path_time_uniq ] ||
mkdir
-p $backup_path/$backup_path_time_uniq
for
(( i = 0; i < $backup_files_num; i++ ));
do
scp
-r -P$confluence_server_ssh_port $confluence_server_ssh_username@$confluence_server_ssh_hostname:$confluence_home_directory/${backup_files[i]} $backup_path/$backup_path_time_uniq >
/dev/null
2>&1
[ $? -
ne
0 ] &&
echo
"$confluence_home_directory/${backup_files[i]} Backup failed! "
&&
exit
1;
echo
"$confluence_home_directory/${backup_files[i]} Backup successfully! "
done
echo
"PostgreSQL is executing backup operation, please hold on! "
ssh
-P$confluence_server_ssh_port $confluence_server_ssh_username@$confluence_server_ssh_hostname
"pg_dump -U confluence -d confluence -h 127.0.0.1 -o >/tmp/tmp_confluence_postgresql.sql"
[ $? -
ne
0 ] &&
echo
"PostgreSQL dump failed! "
&&
exit
1;
echo
"PostgreSQL dump successfully! "
scp
-P$confluence_server_ssh_port $confluence_server_ssh_username@$confluence_server_ssh_hostname:
/tmp/tmp_confluence_postgresql
.sql $backup_path/$backup_path_time_uniq
/confluence_postgresql_
$(
date
-d
"yesterday"
+
"%Y%m%d"
).sql >
/dev/null
2>&1
[ $? -
ne
0 ] &&
echo
"PostgreSQL file transmission failed! "
&&
exit
1;
echo
"PostgreSQL file transmission successfully! "
find
$backup_path -mtime +$save_days -
exec
rm
-rf {} \;
[ $? -
ne
0 ] &&
echo
"Local expired backups remove skipped! "
;
echo
"Local expired backups remove successfully! "