diff --git a/restore_db.sh b/restore_db.sh new file mode 100644 index 0000000..4251c5e --- /dev/null +++ b/restore_db.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +cat /dev/null > /home/franv/nohup.out + +while true; do + cat /dev/null > nohup.out + now=$(date +%s) + target=$(date -d "23:30" +%s) + MY_DATE=$(date +"%m-%d-%Y") + + + if [ $now -ge $target ]; then + echo "Current date: $MY_DATE" + cat /dev/null > /home/franv/nohup.out + + echo doing kanboard + rsync '-e ssh -p 9011' -avz cheeseplant@netcup:/home/cheeseplant/kanboard1/kan_db.sql /home/franv/kanboard/. + cat /home/franv/kanboard/kan_db.sql | docker exec -i kanboard_kan_db_1 mysql -psecret + cp /home/franv/kanboard/kan_db.sql /home/franv/db_backup/kan_db.sql.$MY_DATE + + echo doing kimai + rsync '-e ssh -p 9011' -avz cheeseplant@netcup:/home/cheeseplant/kimai2/kimai_db.sql /home/franv/kimai/. + cat /home/franv/kimai/kimai_db.sql | docker exec -i kimai_sqldb_1 mysql -pchangemeplease + cp /home/franv/kimai/kimai_db.sql /home/franv/db_backup/kimai_db.sql.$MY_DATE + cd /home/franv/kimai + docker-compose restart + cd /home/franv + + echo doing bookstack + rsync '-e ssh -p 9011' -avz cheeseplant@netcup:/home/cheeseplant/bookstack/book_db.sql /home/franv/bookstack/. + cat /home/franv/bookstack/book_db.sql | docker exec -i bookstack_db mysql -pchengli197 + cp /home/franv/bookstack/book_db.sql /home/franv/db_backup/book_db.sql.$MY_DATE + + cd /home/franv/bookstack/ + docker-compose restart + cd /home/franv + + echo doing rocketchat + rsync '-e ssh -p 9011' -avz cheeseplant@netcup:/home/cheeseplant/rocketchat/rocket_db.tar /home/franv/rocketchat_new/. + docker cp /home/franv/rocketchat_new/rocket_db.tar mongo:. + docker exec mongo mongorestore --archive=rocket_db.tar --db=rocketchat + cp /home/franv/rocketchat_new/rocket_db.tar /home/franv/db_backup/rocket_db.tar.$MY_DATE + +###Delete files older than 10 days + find /home/franv/db_backup/* -mtime +10 -exec rm {} \; + + + sleep $[24*60*60] # wait for 24 hours before running again + else + sleep $[$target-$now] # wait until 22:00 before running + fi +done