-
-
Save trafficinc/a0b7cfa58a00e794bf8c7dd0626c2765 to your computer and use it in GitHub Desktop.
#!/usr/local/bin/python3 | |
""" | |
Will backup all the databases listed, will put files in same DIR as script' | |
To run: $ python dbbackup.py OR python3 dbbackup.py | |
""" | |
import configparser | |
import os | |
import time | |
import getpass | |
HOST='localhost' | |
PORT='3306' | |
DB_USER='username' | |
DB_PASS='password' | |
# if using one database... ('database1',) | |
databases=('database1','database2','database3') | |
def get_dump(database): | |
filestamp = time.strftime('%Y-%m-%d-%I') | |
# D:/xampp/mysql/bin/mysqldump for xamp windows | |
os.popen("mysqldump -h %s -P %s -u %s -p%s %s > %s.sql" % (HOST,PORT,DB_USER,DB_PASS,database,database+"_"+filestamp)) | |
print("\n|| Database dumped to "+database+"_"+filestamp+".sql || ") | |
if __name__=="__main__": | |
for database in databases: | |
get_dump(database) |
Hi,
The code works fine and the .sql files are getting generated. But the generated dump file is empty, 0 KB
Can you help me out in this.
@thukuwanjiku No problem, thanks!
I have the same problem as @Nethaje
When I run the script it doesn't recognize the database because it reads every single letter on its own. For example :
Database : Test
He reads : T,e,s,t = 4 databases.
Will need more information to figure out the issue, what OS are you on, what settings?
Man got it running all good. Thanks for the fast reply tho my g.
Cuando ejecuto el script, no reconoce la base de datos porque lee cada letra por sí sola. Por ejemplo :
Base de datos: Prueba
Lee: T,e,s,t = 4 bases de datos.
if you database_name is "Test", try to:
databases = ('Test',)
because it´s a tuple!
os.popen is not close connect,you can use with like with os.popen(command, "r") as p:
r = p.read()
@trafficinc The code works fine and the .sql files are getting generated. But the generated dump file is empty, 0 KB
Can you help me out in this.
I am using this on Windows 10 Pro and Current Version:- 3.9.7
Error Msg I am getting is:
'mysqldump' is not recognized as an internal or external command,
operable program or batch file.
'mysqldump' is not recognized as an internal or external command,
operable program or batch file.
Add mysql path into your Environment variables
I'm having an empty file of 0kb when I run on the Windows task scheduler, but when run on cmd it backups the database with content in file
Thanks a lot for this. Really helped me