linux脚本从数据库中读取数据并根据数据在远程linux上发送命令

标签 linux bash

我是 Linux 脚本新手。在我在 Linux 机器上运行的本地 Mysql 数据库上:

mysql> SELECT * FROM folder;
+-------+---------+
| user  | folder  |
+-------+---------+
| user1 | folder1 |
| user2 | folder2 |
| user3 | folder3 |
+-------+---------+

我需要从数据库“folder1”中读取并在远程 Linux“mkdir folder1”上发送命令
所以脚本可以创建自动文件夹 1-3。远程 Linux 密码不是问题。

现在我手动做

ssh root@www1.cyberciti.biz mkdir folder1
ssh root@www1.cyberciti.biz mkdir folder2
ssh root@www1.cyberciti.biz mkdir folder3

最佳答案

你可以一行完成;这里是测试版。它只是打印出命令。放下“echo ”以真正执行命令。

mysql testdb --batch --skip-column-names -p -e "select distinct(folder) from folder" | xargs -n 1 -I '{}' echo ssh root@www1.cyberciti.biz mkdir \"{}\"

输出:

ssh root@www1.cyberciti.biz mkdir "folder1"
ssh root@www1.cyberciti.biz mkdir "folder2"
ssh root@www1.cyberciti.biz mkdir "folder3"

关于linux脚本从数据库中读取数据并根据数据在远程linux上发送命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22477590/

相关文章:

linux - 如何替换 "bash: $COMMAND: command not found"消息?

linux - NXP i.MX6 上的嵌入式 Electron

linux - 如果我使用变量,为什么命令执行不成功?

linux - while循环cp给出部分文件的副本(linux)

linux - 无法读取 "ns_": no such variable

javascript - 从长字符串中提取两项的正则表达式

bash - 使用 cut -d 在 awk if 条件中提取整行

bash - 用sed修改key ="Value"配置

ruby - Ruby Shell 中的转义字符

ruby - 如何构建包装器脚本