evobackup/evobackup

58 lines
1.6 KiB
Plaintext
Raw Normal View History

#!/bin/sh
### BEGIN INIT INFO
# Provides: evobackup
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2
# Default-Stop: 1
# Short-Description: Backup manager using rsync and OpenSSH chroot.
### END INIT INFO
set -e
BACKUP_PATH=/backup
case "$1" in
start)
2014-06-19 04:55:27 +02:00
for jail in $(ls -1 ${BACKUP_PATH}/jails |grep -v \.bak); do
mount -t proc proc-chroot ${BACKUP_PATH}/jails/${jail}/proc/
mount -t devtmpfs udev ${BACKUP_PATH}/jails/${jail}/dev/
mount -t devpts devpts ${BACKUP_PATH}/jails/${jail}/dev/pts
chroot ${BACKUP_PATH}/jails/${jail} /usr/sbin/sshd > /dev/null
done
;;
stop)
2014-06-19 04:55:27 +02:00
for jail in $(ls -1 ${BACKUP_PATH}/jails |grep -v \.bak); do
kill $(chroot ${BACKUP_PATH}/jails/${jail} cat /var/run/sshd.pid)
umount ${BACKUP_PATH}/jails/${jail}/proc/
umount ${BACKUP_PATH}/jails/${jail}/dev/pts/
# Need to wait a little time before unmounting /dev
sleep 0.2
2014-06-19 04:55:27 +02:00
umount ${BACKUP_PATH}/jails/${jail}/dev
done
;;
reload|force-reload)
2014-06-19 04:55:27 +02:00
for jail in $(ls -1 ${BACKUP_PATH}/jails |grep -v \.bak); do
kill -HUP \
2014-06-19 04:55:27 +02:00
$(chroot ${BACKUP_PATH}/jails/${jail} cat /var/run/sshd.pid)
done
;;
restart)
2014-06-19 04:55:27 +02:00
for jail in $(ls -1 ${BACKUP_PATH}/jails |grep -v \.bak); do
kill $(chroot ${BACKUP_PATH}/jails/${jail} cat /var/run/sshd.pid)
chroot ${BACKUP_PATH}/jails/${jail} /usr/sbin/sshd > /dev/null
done
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0