forked from JasonAGiles/docker-jenkins-backup
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.sh
More file actions
executable file
·35 lines (27 loc) · 854 Bytes
/
run.sh
File metadata and controls
executable file
·35 lines (27 loc) · 854 Bytes
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
#!/bin/bash
echo "----- CREATING BACKUP SCRIPT -----"
cat << EOF > /backup.sh
#!/bin/bash
cd /var/backups
FILENAME="${BACKUP_FILE_PREFIX}-\$(date +%Y-%m-%d-%H-%M-%S).tar.gz"
BACKUP_CMD="tar -czvf \${FILENAME} --exclude='/var/jenkins_home/workspace' /var/jenkins_home"
MAX_BACKUPS=${MAX_BACKUPS}
echo "----- BACKUP STARTED: \${FILENAME} -----"
\${BACKUP_CMD}
echo "----- BACKUP COMPLETE -----"
if [ -n "\${MAX_BACKUPS}" ]; then
while [ \$(ls -N1 | wc -l) -gt \${MAX_BACKUPS} ];
do
FILE_TO_DELETE=\$(ls -N1 | sort | head -n 1)
echo "----- REMOVING BACKUP FILE: \${FILE_TO_DELETE} -----"
rm -f \${FILE_TO_DELETE}
done
fi
EOF
chmod +x /backup.sh
touch /var/backup.log
echo "${CRON_TIME} /backup.sh >> /var/backup.log 2>&1" > /crontab.conf
crontab /crontab.conf
echo "----- STARTING CRON JOB -----"
cron
exec tail -f /var/backup.log