37 lines
1.1 KiB
Bash
Executable File
37 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# check if running
|
|
me="$(basename "$0")";
|
|
result=`ps aux | grep -i $me | grep -v "grep" | wc -l`
|
|
echo "running: $result"
|
|
if [ $result -gt 2 ]
|
|
then
|
|
exit
|
|
fi
|
|
|
|
# delete
|
|
ROOTDIR=/home/pi/projects/pibackup
|
|
STATUSFILE=$ROOTDIR/status.log
|
|
ERRORFILE=$ROOTDIR/error.log
|
|
|
|
if [ -f "${STATUSFILE}" ]; then
|
|
sudo rm ${STATUSFILE}
|
|
fi
|
|
|
|
# DB
|
|
BACKUPDIR=/mnt/NASbarracuda1TB/backup/pi2/db/`date +"%Y-%m-%d-%H-%M-%S"`
|
|
mkdir -p ${BACKUPDIR}
|
|
for DB in $(mysql -e 'show databases' -s --skip-column-names -u pi2 -p13371337); do
|
|
mysqldump --single-transaction -h localhost -u pi2 -p13371337 --opt $DB > ${BACKUPDIR}/$DB.sql
|
|
done
|
|
|
|
# seafile
|
|
sudo rsync -azh --log-file=${ROOTDIR}/status.log --exclude={'seafile-data','seafile-server-latest'} /opt/seafile/ /mnt/NASbarracuda1TB/backup/pi2/seafile
|
|
|
|
# external piseafile (seafile-data & gitea)
|
|
sudo rsync -azh --log-file=${ROOTDIR}/status.log /mnt/piseafile/ /mnt/NASbarracuda1TB/backup/pi2/piseafile
|
|
|
|
# copy logs
|
|
cp $ERRORFILE /mnt/NASbarracuda1TB/backup/pi2/error.log
|
|
cp $STATUSFILE /mnt/NASbarracuda1TB/backup/pi2/status.log
|