OS detection, function over everything
This commit is contained in:
parent
f5d1d86a3a
commit
89086a68d3
87
main.sh
87
main.sh
@ -1,5 +1,6 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
|
function init {
|
||||||
echo "Backify is starting, looking for configuration file..." >&2
|
echo "Backify is starting, looking for configuration file..." >&2
|
||||||
|
|
||||||
config='backup.cfg'
|
config='backup.cfg'
|
||||||
@ -27,6 +28,22 @@ if [ "$EUID" -ne 0 ]
|
|||||||
then echo "Please run as root"
|
then echo "Please run as root"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function system {
|
||||||
|
|
||||||
|
if [ -f /etc/redhat-release ]
|
||||||
|
then
|
||||||
|
system='rhel'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /etc/lsb-release ]
|
||||||
|
then
|
||||||
|
system='ubuntu'
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Discovered $system based OS..." >&2
|
||||||
|
}
|
||||||
|
|
||||||
function makedir {
|
function makedir {
|
||||||
timestamp=$(date +%Y%m%d_%H%M)
|
timestamp=$(date +%Y%m%d_%H%M)
|
||||||
@ -54,7 +71,7 @@ then
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function logbackup {
|
function logbackupcentos {
|
||||||
if [ "$log_backup" = true ]
|
if [ "$log_backup" = true ]
|
||||||
then
|
then
|
||||||
echo "Backing up system logs..." >&2
|
echo "Backing up system logs..." >&2
|
||||||
@ -88,13 +105,64 @@ then
|
|||||||
truncate -s 0 /var/log/message
|
truncate -s 0 /var/log/message
|
||||||
if [ "$apache" = true ]
|
if [ "$apache" = true ]
|
||||||
then
|
then
|
||||||
# TODO: removal for .1.2.3 logs
|
|
||||||
truncate -s 0 /var/log/httpd/*
|
truncate -s 0 /var/log/httpd/*
|
||||||
|
rm /var/log/httpd/*.gz
|
||||||
fi
|
fi
|
||||||
if [ "$nginx" = true ]
|
if [ "$nginx" = true ]
|
||||||
then
|
then
|
||||||
# TODO: removal for .1.2.3 logs
|
|
||||||
truncate -s 0 /var/log/nginx/*
|
truncate -s 0 /var/log/nginx/*
|
||||||
|
rm /var/log/nginx/*.gz
|
||||||
|
fi
|
||||||
|
if [ "$fail2ban_log" = true ]
|
||||||
|
then
|
||||||
|
truncate -s 0 /var/log/fail2ban.log
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "Finished" >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function logbackupubuntu {
|
||||||
|
if [ "$log_backup" = true ]
|
||||||
|
then
|
||||||
|
echo "Backing up system logs..." >&2
|
||||||
|
mkdir -p $tmpdir/syslogs
|
||||||
|
cp /var/log/syslog $tmpdir/syslogs/
|
||||||
|
cp /var/log/message $tmpdir/syslogs/
|
||||||
|
|
||||||
|
if [ "$fail2ban_log" = true ]
|
||||||
|
then
|
||||||
|
cp /var/log/fail2ban.log $tmpdir/syslogs/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$log_backup_web" = true]
|
||||||
|
then
|
||||||
|
if [ "$apache" = true ]
|
||||||
|
then
|
||||||
|
mkdir -p $tmpdir/apachelogs
|
||||||
|
cp -r /var/log/apache2 $tmpdir/apachelogs
|
||||||
|
fi
|
||||||
|
if [ "$nginx" = true ]
|
||||||
|
then
|
||||||
|
mkdir -p $tmpdir/nginxlogs
|
||||||
|
cp -r /var/log/nginx $tmpdir/nginxlogs
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$log_purge" = true]
|
||||||
|
then
|
||||||
|
echo "Purging logs..." >&2
|
||||||
|
truncate -s 0 /var/log/syslog
|
||||||
|
truncate -s 0 /var/log/message
|
||||||
|
if [ "$apache" = true ]
|
||||||
|
then
|
||||||
|
truncate -s 0 /var/log/apache2/*
|
||||||
|
rm /var/log/apache2/*.gz
|
||||||
|
fi
|
||||||
|
if [ "$nginx" = true ]
|
||||||
|
then
|
||||||
|
truncate -s 0 /var/log/nginx/*
|
||||||
|
rm /var/log/nginx/*.gz
|
||||||
fi
|
fi
|
||||||
if [ "$fail2ban_log" = true ]
|
if [ "$fail2ban_log" = true ]
|
||||||
then
|
then
|
||||||
@ -164,6 +232,10 @@ function dockerbackup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function runbackup {
|
function runbackup {
|
||||||
|
# init, config check
|
||||||
|
init
|
||||||
|
# run system detection
|
||||||
|
system
|
||||||
if [ "$enabled" = true ]
|
if [ "$enabled" = true ]
|
||||||
then
|
then
|
||||||
# step 1 : create directory
|
# step 1 : create directory
|
||||||
@ -173,7 +245,14 @@ function runbackup {
|
|||||||
# step 3 : vhost backup
|
# step 3 : vhost backup
|
||||||
vhostbackup
|
vhostbackup
|
||||||
# step 4: log backup
|
# step 4: log backup
|
||||||
logbackup
|
if [ $system = "rhel" ]
|
||||||
|
then
|
||||||
|
logbackuprhel
|
||||||
|
fi
|
||||||
|
if [ $system = "ubuntu" ]
|
||||||
|
then
|
||||||
|
logbackupubuntu
|
||||||
|
fi
|
||||||
# step 5: docker backup
|
# step 5: docker backup
|
||||||
dockerbackup
|
dockerbackup
|
||||||
# archive data
|
# archive data
|
||||||
|
Loading…
Reference in New Issue
Block a user