import datetime
import subprocess
def backup_mysql_databases(username, password, host, dir):
today = datetime.date.today()
weekday = today.weekday() + 1
tables_command = f"mysql -u {username} -p{password} -h {host} -e 'SHOW DATABASES;'"
databases = subprocess.check_output(tables_command, shell=True).decode('utf-8').split('\n')
databases = [db.strip() for db in databases if db.strip() != '' and db.strip() != 'Database']
for db in databases:
backup_command = f"mysqldump -u {username} -p{password} -h {host} {db} > {dir}/{weekday}/{db}.sql"
subprocess.run(backup_command, shell=True)
print(f"Database {db} backed up to {dir}/{weekday}/{db}.sql")
backup_mysql_databases('root', '123456', '127.0.0.1', '/var/local/mysql-backup/backup-files') Python备份Mysql数据库
Python查出所有数据库名称,然后每天一个文件来备份每个数据库,并存放到按每星期第几天的文件夹中。

2