comment écrire un script bash qui videra une base de données et la restaurera. il devrait y avoir deux arguments. le premier est le nom de db qui va être déversé et un autre est le nom de la base de données dans laquelle je vais restaurer les données précédemment vidées.un script bash pour vider une base de données
Répondre
Je suis un script python qui prennent la décharge et de le transférer à s3. Je pense que son meilleur que le script bash:
import datetime
import subprocess, tarfile, os, S3, tempfile
#Mysql
MYSQL_USER = "xxxx"
MYSQL_PASS = "xxx"
MYSQL_DB = "xxxxx"
MYSQL_HOST = "localhost"
MYSQL_DUMP = "mysqldump"
AWS_ACCESS_KEY_ID = "xxxxxxxxxxxx"
AWS_SECRET_ACCESS_KEY = "yyyyyyyyyyyyyyyyyyyy"
BUCKET_NAME = "bucket"
FOLDER = "backup/"
KEEP = 5
EXT_TIME = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%dT%H:%M')
print "start mysqldump..."
proc1 = subprocess.Popen(MYSQL_DUMP + " --no-create-info -u %s -p%s -x --databases %s" % (MYSQL_USER, MYSQL_PASS, MYSQL_DB), shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
t1 = tempfile.NamedTemporaryFile()
t1.write(proc1.communicate()[0])
tar = tarfile.open((os.path.join(os.curdir, MYSQL_DB + "_%s.tar.gz" % (EXT_TIME))), "w|gz")
tar.add(t1.name, MYSQL_DB + "_data.sql")
t1.close()
tar.close()
print "uploading to S3..."
conn = S3.AWSAuthConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
tardata = open(os.path.join(os.curdir, MYSQL_DB + "_%s.tar.gz" % EXT_TIME) , "rb").read()
response = conn.put(BUCKET_NAME, FOLDER + MYSQL_DB + "_%s.tar.gz" % EXT_TIME, S3.S3Object(tardata))
if response.http_response.status == 200 :
print "sucessfully uploaded the archive to Amazon S3"
else:
print "Uploading database dump to Amazon S3 is not successful"
os.remove(os.path.join(os.curdir, MYSQL_DB + "_%s.tar.gz" % (EXT_TIME)))
Je reçois une erreur lorsque j'essayais ce code dans ma machine.conn = S3.AWSAuthConnection (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) AttributeError: l'objet 'module' n'a pas d'attribut 'AWSAuthConnection' –
Vous obtiendrez S3.py http: // aws.amazon.com/code/134. Téléchargez et vous trouverez le fichier S3.py sous le dossier python. – Tauquir
remercie son travail maintenant je cherchais la même chose –
Essayez ceci:
#!/bin/bash
mysqldump $1 > test.sql
mysql $2 -uusername -ppassword < test.sql
rm test.sql
Peut être que vous aurez besoin des arguments optionnels pour Mysqldump et commandes mysql
- 1. Comment vider un tube en utilisant bash
- 2. Comment vider une base de données MySQL avec ant?
- 3. Quelqu'un connaît un programme pour vider automatiquement un tas de données de test (fictives) dans une base de données SQL?
- 4. Vider un schéma de base de données relationnelle
- 5. Vider uniquement une partie de la base de données sqlite
- 6. de script Bash pour lire un fichier
- 7. En C#, comment vider une base de données SQLite existante?
- 8. Comment faire pour vider la base de données mysql?
- 9. Script pour l'écran bash
- 10. Script Bash pour éditer un tas de fichiers
- 11. SSH Bash script pour une connexion facile
- 12. Postgres: base de données entière claire avant de recréer/repeupler à partir du script bash
- 13. script bash pour regarder un dossier
- 14. script sql pour créer une nouvelle base de données
- 15. script SQL, créer une base de données
- 16. script bash pour traduire XML
- 17. Est-il possible de vider une base de données MySQL dans un fichier seed.rb?
- 18. aide avec un script bash
- 19. Vider les tables de la base de données dans mysql?
- 20. question de script Bash
- 21. Appel de script Bash pour AWK
- 22. Conserver un fichier ouvert pour toujours dans un script bash
- 23. Exécuter une chaîne comme une commande dans un script Bash
- 24. Impossible de convertir script Bash pour le script zsh
- 25. script bash - sélection de la base de données dans la variable
- 26. Script BASH - Comment obtenir bash pour vérifier l'emplacement d'un fichier?
- 27. Script Bash Appelle un autre script bash et attend qu'il se termine avant de continuer
- 28. recherche de fichier script bash
- 29. mysql créer la base de données et script utilisateur
- 30. Utiliser bash pour enfiler mon script PHP
J'ai écrit un script BASH qui a fait une fois, mais je trouve qu'il est difficile de maintenir en raison des subtilités de script BASH. Je vous recommande de faire ce que j'ai fait et d'envisager de passer à une implémentation python, ou peut-être de regarder dans la réplication de base de données. – Chris