This repository has been archived by the owner on Sep 9, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmonthly.sh
executable file
·61 lines (52 loc) · 2.83 KB
/
monthly.sh
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
#!/bin/bash
# _
#| |_ _ _ ___ ___ ___ ___ ___ _ _
#| | | | . | -_| _|_ -| _| | |
#|_|_|_ | _|___|_| |___|_| \_/
# |___|_|
#
# hypersrv.com | Web at scale solutions
#
# monthly.sh Stephen Martin <sm@hypersrv.com>
# ------------------------------------------
# Script to backup plesk backups to amazon s3
#
# Copyright (c) 2015, Stephen Martin <sm@hypersrv.com>
# All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
# setup in cron as
# 0 1 1 * * /opt/hypersrv.com/plesk-to-s3/monthly.sh > /dev/null 2>&1
# Config
EMAIL="" # Email address to report to eg, "sm@hypersrv.com,email@hypersrv.com"
PREFIX="backup" # Prefix of backups in plesk manager in plesk 12 you could choose a backup name but now in 12.5 the prefix will always be "backup".
KEEP=12 # The amount of backups to Keep on S3
AWS_ACCESS_KEY_ID="" # The AWS access key ID
AWS_ACCESS_KEY_SECRET="" # The AWS access key secret
BUCKETNAME="" # the AWS S3 bucket name eg. mybucket
ARCHIVENAME="monthly" # the archive name for the bucket eg. "daily" to store backups in mybucket/daily
LOGFILE=/opt/hypersrv.com/plesk-to-s3/$ARCHIVENAME.log # The log file location
# /Config
/opt/hypersrv.com/plesk-to-s3/plesk-to-s3.sh -p $PREFIX -K $KEEP -i $AWS_ACCESS_KEY_ID -k $AWS_ACCESS_KEY_SECRET -b $BUCKETNAME -a $ARCHIVENAME > $LOGFILE 2>&1
RET=$?
if [ ! $RET -eq 0 ];then
echo "The backup job $ARCHIVENAME failed" | mail -s "$ARCHIVENAME Backup to s3 failed see attached log" -a $LOGFILE "$EMAIL"
else
echo "The backup job $ARCHIVENAME was succesful" | mail -s "$ARCHIVENAME Backup to s3 was successful" -a $LOGFILE "$EMAIL"
fi