Skip to content

Instantly share code, notes, and snippets.

@Gigabiter
Created March 31, 2016 09:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Gigabiter/48b7522c64b67b8fc218a043d38345ad to your computer and use it in GitHub Desktop.
Save Gigabiter/48b7522c64b67b8fc218a043d38345ad to your computer and use it in GitHub Desktop.
#!/bin/sh
DB_USER="name"
DB_PASS="password"
DB_BASE="databese"
CLOUD_USER="webdav_user"
CLOUD_PASS="webdav_password"
MOUNTH=$(date +"%Y-%m")
CLOUD_SERVER="https://webdav.yandex.ru/"
NUM_WEEK=$(date +"%V")
NUM_DAY=$(date +"%u")
DUMP_FILE="${NUM_WEEK}-${NUM_DAY}.sql"
ZIP_PASS="zip_password"
ZIP_FILE=${DUMP_FILE}".zip"
mysqldump --opt --user=${DB_USER} --password=${DB_PASS} ${DB_BASE} > ${DUMP_FILE}
echo "Mysql dump ${DUMP_FILE}\r";
zip --password ${ZIP_PASS} -j ${ZIP_FILE} ${DUMP_FILE}
echo "ZIP ${DUMP_FILE}\r";
rm ${DUMP_FILE}
echo "DELETE LOCAL ${DUMP_FILE}\r";
curl --user ${CLOUD_USER}:${CLOUD_PASS} -T ${ZIP_FILE} ${CLOUD_SERVER}
echo "SEND ${ZIP_FILE}\r";
rm ${ZIP_FILE}
echo "DELETE LOCAL ${ZIP_FILE}\r";
if [ ${NUM_DAY} -gt 1 ]; then
LAST_WEEK=$(date -d "-1 week" +"%V")
OLD_DUMP="${CLOUD_SERVER}${LAST_WEEK}-${NUM_DAY}.sql.zip"
curl --user ${CLOUD_USER}:${CLOUD_PASS} -X DELETE ${OLD_DUMP}
echo "DELETE ${OLD_DUMP}\r"
fi
if [ ${NUM_DAY} -eq 1 ]; then
LAST_MONTH=$(date -d "-4 week" +"%V")
OLD_DUMP="${CLOUD_SERVER}${LAST_MONTH}-${NUM_DAY}.sql.zip"
curl --user ${CLOUD_USER}:${CLOUD_PASS} -X DELETE ${OLD_DUMP}
echo "DELETE ${OLD_DUMP}\r"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment