Last active
February 24, 2017 17:52
-
-
Save linktohack/85445f948850580afcc98dc4547d9d7e to your computer and use it in GitHub Desktop.
Upload Scamark
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
rm -rf app.log | |
touch app.log | |
lxterminal -e 'tail -f app.log' 2>> app.log 1>> app.log & | |
lxterminal -e 'tail -f /var/log/mysql/error.log' 2>> app.log 1>> app.log & | |
sudo zerotier-cli join e5cd7a9e1cd6187e 2>> app.log 1>> app.log & | |
echo '1. Verfier la connexion...' | |
until ssh -i key [email protected] 'exit'; do | |
echo -ne '.' | |
sleep 1 | |
done | |
echo "2. Attendre l'appareil..." | |
until ls /media/pi/resin-data 2>> app.log 1>> app.log; do | |
echo -ne '.' | |
sleep 1 | |
done | |
APP_ID=$(ls /media/pi/resin-data/resin-data | head -n1) | |
MAGASIN=$(jq -r ".magasin" "/media/pi/resin-data/resin-data/${APP_ID}/initialized") | |
DATE=$(date '+%Y-%M-%d_%H-%m-%S') | |
echo "* MAGASIN: $MAGASIN" | |
echo '3. Copier les données en cours...' | |
sudo service mysql stop 2>> app.log 1>> app.log | |
sleep 3 | |
sudo killall mysqld 2>> app.log 1>> app.log | |
sleep 3 | |
sudo cp -rf /var/lib/mysql /var/lib/mysql.bak 2>> app.log 1>> app.log | |
sudo rm -rf /var/lib/mysql | |
sudo rsync -aP "/media/pi/resin-data/resin-data/${APP_ID}/mysql/" /var/lib/mysql 2>> app.log 1>> app.log | |
sudo chown -R mysql:mysql /var/lib/mysql 2>> app.log 1>> app.log | |
RETRIED=0 | |
echo '4. Attendre le serveur MySQL...' | |
sudo sh -c '/usr/bin/mysqld_safe -v --skip-grant-tables 2>> app.log 1>> app.log &' | |
until mysql -uroot -proot -e 'use scamark;' 2>> app.log 1>> app.log; do | |
echo -ne '.' | |
(( RETRIED++ )) | |
echo "RETRIED: $RETRIED" | |
sleep 1 | |
if [ "$RETRIED" == "9" ]; then | |
sudo service mysql stop 2>> app.log 1>> app.log | |
sleep 3 | |
sudo killall mysqld 2>> app.log 1>> app.log | |
sleep 3 | |
sudo sh -c '/usr/bin/mysqld_safe -v --skip-grant-tables 2>> app.log 1>> app.log &' | |
fi | |
done | |
echo '6. Uploader en cours...' | |
mysqldump -uroot -proot scamark | gzip | tee "$MAGASIN-$DATE.sql.gz" 2>> app.log 1>> app.log | |
rsync -aP -e "ssh -i key" "$MAGASIN-$DATE.sql.gz" [email protected]: 2>> app.log 1>> app.log | |
echo "7. Verifier l'intégrité de donner en cours..." | |
sha256sum "$MAGASIN-$DATE.sql.gz" | |
ssh -i key [email protected] sha256sum "$MAGASIN-$DATE.sql.gz" | |
rm "$MAGASIN-$DATE.sql.gz" | |
echo '8. FINI' | |
ping 0.0.0.0 2>> app.log 1>> app.log | |
# vim:ts=4:sw=4: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment