zoneminder/utils/packpack/rsync_xfer.sh

51 lines
1.4 KiB
Bash
Raw Normal View History

2017-02-27 23:45:08 +08:00
#!/bin/bash
# Check to see if this script has access to all the commands it needs
for CMD in sshfs rsync find fusermount mkdir; do
type $CMD 2>&1 > /dev/null
if [ $? -ne 0 ]; then
echo
echo "ERROR: The script cannot find the required command \"${CMD}\"."
echo
2017-02-28 21:28:07 +08:00
exit 1
2017-02-27 23:45:08 +08:00
fi
done
2017-03-05 00:16:05 +08:00
# We only want to deploy packages during cron events
# See https://docs.travis-ci.com/user/cron-jobs/
if [ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${OS}" == "debian" ] || [ "${OS}" == "ubuntu" ]; then
2017-02-27 23:45:08 +08:00
if [ "${OS}" == "debian" ] || [ "${OS}" == "ubuntu" ]; then
2017-05-03 02:44:34 +08:00
targetfolder="debian/master/mini-dinstall/incoming"
else
targetfolder="travis"
fi
echo
echo "Target subfolder set to $targetfolder"
echo
2017-03-05 00:16:05 +08:00
mkdir -p ./zmrepo
ssh_mntchk="$(sshfs zmrepo@zmrepo.zoneminder.com:./ ./zmrepo -o workaround=rename,reconnect 2>&1)"
2017-02-27 23:45:08 +08:00
2017-03-05 00:16:05 +08:00
if [ -z "$ssh_mntchk" ]; then
echo
echo "Remote filesystem mounted successfully."
2017-04-19 20:22:03 +08:00
echo "Begin transfering files..."
echo
2017-03-05 00:16:05 +08:00
# Don't keep packages older than 5 days
find ./zmrepo/$targetfolder/ -maxdepth 1 -type f -mtime +5 -delete
rsync -vzlh --ignore-errors build/* zmrepo/$targetfolder/
2017-03-05 00:16:05 +08:00
fusermount -zu zmrepo
else
echo
echo "ERROR: Attempt to mount zmrepo.zoneminder.com failed!"
echo "sshfs gave the following error message:"
echo \"$ssh_mntchk\"
echo
exit 99
2017-03-05 00:16:05 +08:00
fi
fi