我必须SSH到120台机器并在数据库中转储表并每天将其导出回我的本地机器(所有120个数据库的数据库结构相同)。
数据库中没有“ta”字段,我可以从中提取名称,以便能够识别它来自哪一个,它是至关重要的,可以识别它,因为它是数据分析。
我使用Python工具Fabric来自动化流程并将CSV导出到我的机器上。
fab -u PAI -H 10.0.0.35,10.0.0.XX,10.0.0.0.XX,10.0.0.XX -z 1 cmdrun:" cd / usr / local / mysql / bin&& ./mysql -u root -p -e' SELECT * 来自dfs_va2.artikel_trigger;' > /Users/admin/Documents/dbdump/dump.csv" 下载:" /Users/johnc/Documents/Imports/dump.csv"
以上是我迄今为止所做的工作,但显然,他们都被命名为#34; dump.csv"有什么可怕的人可以给我一个关于如何处理这个问题的好主意吗?
答案 0 :(得分:0)
您可以尝试修改命令,如下所示:
mysql -uroot -p {your_password} -e'SELECT * FROM dfs_va2.artikel_trigger;' > /Users/admin/Documents/dbdump/$(hostname)_dump.csv“下载:”/ Users / johnc / Documents / Imports / $(hostname)_dump.csv“
hostname
返回当前的计算机名称,因此所有文件都应该是唯一的(当然,如果计算机具有唯一的名称)
此外,您不需要每次都导航到/ bin / mysql,只需使用mysql
或绝对路径/usr/local/mysql/bin/mysql