Skip to content

Commit 6de684e

Browse files
committed
Split image into 3.0, 3.2 and 3.4 tags.
1 parent 81d00d3 commit 6de684e

File tree

9 files changed

+105
-5
lines changed

9 files changed

+105
-5
lines changed

Dockerfile renamed to 3.0/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ RUN apt-get update && \
66
apt-get clean && rm -rf /var/lib/apt/lists/*
77

88
ADD backup.sh /backup.sh
9-
RUN chmod +x /backup.sh
10-
119
ADD start.sh /start.sh
12-
RUN chmod +x /start.sh
10+
RUN chmod +x /start.sh && chmod +x /backup.sh
1311

1412
VOLUME /backup
1513

backup.sh renamed to 3.0/backup.sh

File renamed without changes.

start.sh renamed to 3.0/start.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e
44

55
CRON_SCHEDULE=${CRON_SCHEDULE:-0 1 * * *}
66
MONGO_HOST=${MONGO_HOST:-mongo}
7-
MONGO_PORT==${MONGO_PORT:-27017}
7+
MONGO_PORT=${MONGO_PORT:-27017}
88

99
if [[ "$1" == 'no-cron' ]]; then
1010
exec /backup.sh
@@ -14,7 +14,7 @@ else
1414
mkfifo "$LOGFIFO"
1515
fi
1616
CRON_ENV="MONGO_HOST='$MONGO_HOST'"
17-
CRON_ENV="$CRON_ENV\MONGO_PORT='$MONGO_PORT'"
17+
CRON_ENV="$CRON_ENV\nMONGO_PORT='$MONGO_PORT'"
1818
echo -e "$CRON_ENV\n$CRON_SCHEDULE /backup.sh > $LOGFIFO 2>&1" | crontab -
1919
crontab -l
2020
cron

3.2/Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM mongo:3.2
2+
MAINTAINER Ilya Stepanov <dev@ilyastepanov.com>
3+
4+
RUN apt-get update && \
5+
apt-get install -y cron && \
6+
apt-get clean && rm -rf /var/lib/apt/lists/*
7+
8+
ADD backup.sh /backup.sh
9+
ADD start.sh /start.sh
10+
RUN chmod +x /start.sh && chmod +x /backup.sh
11+
12+
VOLUME /backup
13+
14+
ENTRYPOINT ["/start.sh"]
15+
CMD [""]

3.2/backup.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
echo "Job started: $(date)"
6+
7+
DATE=$(date +%Y%m%d_%H%M%S)
8+
FILE="/backup/backup-$DATE.tar.gz"
9+
10+
mongodump --quiet -h $MONGO_HOST -p $MONGO_PORT
11+
tar -zcvf $FILE dump/
12+
rm -rf dump/
13+
14+
echo "Job finished: $(date)"

3.2/start.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
CRON_SCHEDULE=${CRON_SCHEDULE:-0 1 * * *}
6+
MONGO_HOST=${MONGO_HOST:-mongo}
7+
MONGO_PORT=${MONGO_PORT:-27017}
8+
9+
if [[ "$1" == 'no-cron' ]]; then
10+
exec /backup.sh
11+
else
12+
LOGFIFO='/var/log/cron.fifo'
13+
if [[ ! -e "$LOGFIFO" ]]; then
14+
mkfifo "$LOGFIFO"
15+
fi
16+
CRON_ENV="MONGO_HOST='$MONGO_HOST'"
17+
CRON_ENV="$CRON_ENV\nMONGO_PORT='$MONGO_PORT'"
18+
echo -e "$CRON_ENV\n$CRON_SCHEDULE /backup.sh > $LOGFIFO 2>&1" | crontab -
19+
crontab -l
20+
cron
21+
tail -f "$LOGFIFO"
22+
fi

3.4/Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM mongo:3.4
2+
MAINTAINER Ilya Stepanov <dev@ilyastepanov.com>
3+
4+
RUN apt-get update && \
5+
apt-get install -y cron && \
6+
apt-get clean && rm -rf /var/lib/apt/lists/*
7+
8+
ADD backup.sh /backup.sh
9+
ADD start.sh /start.sh
10+
RUN chmod +x /start.sh && chmod +x /backup.sh
11+
12+
VOLUME /backup
13+
14+
ENTRYPOINT ["/start.sh"]
15+
CMD [""]

3.4/backup.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
echo "Job started: $(date)"
6+
7+
DATE=$(date +%Y%m%d_%H%M%S)
8+
FILE="/backup/backup-$DATE.tar.gz"
9+
10+
mongodump --quiet -h $MONGO_HOST -p $MONGO_PORT
11+
tar -zcvf $FILE dump/
12+
rm -rf dump/
13+
14+
echo "Job finished: $(date)"

3.4/start.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
CRON_SCHEDULE=${CRON_SCHEDULE:-0 1 * * *}
6+
MONGO_HOST=${MONGO_HOST:-mongo}
7+
MONGO_PORT=${MONGO_PORT:-27017}
8+
9+
if [[ "$1" == 'no-cron' ]]; then
10+
exec /backup.sh
11+
else
12+
LOGFIFO='/var/log/cron.fifo'
13+
if [[ ! -e "$LOGFIFO" ]]; then
14+
mkfifo "$LOGFIFO"
15+
fi
16+
CRON_ENV="MONGO_HOST='$MONGO_HOST'"
17+
CRON_ENV="$CRON_ENV\nMONGO_PORT='$MONGO_PORT'"
18+
echo -e "$CRON_ENV\n$CRON_SCHEDULE /backup.sh > $LOGFIFO 2>&1" | crontab -
19+
crontab -l
20+
cron
21+
tail -f "$LOGFIFO"
22+
fi

0 commit comments

Comments
 (0)