情况就是这样:我有linux服务器,里面有两个数据库。我需要创建一个cron作业来将一些数据从db1传输到db2。问题是我需要这个:
db1->table1->column1 + db1->table1->column2 + db1->table2->column1
使用这三个字段转移到db2->table1(create table)
。任何人都可以帮我形成一个合适的cron作业命令吗?我知道如何在数据库之间传输表,但这要复杂得多。
答案 0 :(得分:2)
this的部分副本。
在命令行中(至少)有两种方法可以实现这一目的:
mysql -u[user] -p[pass] -e "[mysql commands]"
或:
mysql -u[user] -p[pass] <<QUERY_INPUT
[mysql commands]
QUERY_INPUT
命令“CREATE TABLE testas.test ...”而不是[mysql命令],
将其保存为bash脚本“myscript”:
#!/bin/bash
user=$1
pwd=$2
mysql -u"$user" -p"$pwd" <<QUERY_INPUT
[mysql commands]
QUERY_INPUT
使其可由crontab用户执行
chmod +x myscript
然后它取决于你用于cronjob的发行版。 例如,在Debian的发行版中,除了将脚本放入正确的目录之外,您不需要做任何其他事情。例如,您希望每天运行脚本,将文件移动到/etc/cron.daily 在这种情况下请注意不要忘记用2数据用户和密码调用cronjob: - )