我正在尝试从脚本在几个不同的主机上运行远程二进制文件,这是有意义的,它能够在各自的主机中启动它们中的每一个,并在退出之前等待所有这些远程ssh命令。我的尝试是这样的:
for host in A B C
do
ssh user@$host "
function test
{
cd /path/to/foo
./foo_exe --optA > run.out 2>&1
}; test &
done
wait
不幸的是,这似乎是按顺序运行的,首先在主机A上运行,然后在B etc..why上运行。
在我使用PsExec运行的远程机器上有两个文件,一个是Java程序,另一个是Python。
对于Python,在脚本终止之前,屏幕上的任何输出(print()或sys.stdout.write())都不会被发送回本地机器;对于sys.stdout.write()程序,在远程计算机上创建输出(System.out.println())后,就会看到本地机器上的输出(System.out.println())。
如果有人能向我解释为什么会有这种区别,以及如何在创建Python输出时看到它们,我将非常感激!
(Python3.1,Remote Machine: Windows Server 2012,
有类似的问题,但它们没有解决我的问题:我在我的远程数据库中定义了一个存储过程。作为it操作的一部分,SP必须从本地文件(通过在本地计算机上运行的应用程序)批量插入:过程:
CREATE OR REPLACE FUNCTION upsert_realtime(path text, traveltime_table regclass)
RETURNS void AS
$BODY$
BEGIN
EXECUTE format('COPY temp_table(link_id,start_time,end_time,travel_time,interval_time, trav
我正在写一个Python命令行程序。
有一个主Python脚本文件,用作入口点。当用户运行此脚本时,它将执行一些外部Python脚本文件。外部Python脚本文件还可以执行其他外部Python脚本文件。外部文件的数量是可变的。
Python脚本将使用以下命令执行外部Python脚本:
p = subprocess.Popen(args)
or
p = subprocess.call(args)
当我在终端窗口中运行Python主脚本时,它会在运行时在屏幕上打印实时日志消息。现在,我想从主Python脚本调用的所有外部Python脚本中获取所有日志消息,并将其打印到同一个终端窗口(我用来运行
我如何能够cat一个远程文件?目前,它只适用于本地文件。
#!/bin/bash
regex='url=(.*)'
# for i in $(cat /var/tmp/localfileworks.txt);
for i in $(cat http://localhost/1/downloads.txt);
do
echo $i;
# if [[ $i =~ $regex ]]; then
#echo ${BASH_REMATCH[1]}
#fi
done
cat::没有这样的文件或目录
我不清楚ssh beacasuse的stdout和stderr,如果我执行下面的命令:
ssh user@remotemachine_ip“某些命令”我会立即在屏幕上得到输出,或者可能有一些错误
1.使用ssh登录
2.在远程机器上执行远程命令
3.输出显示在我可以看到的远程机器(stderr或stdout)上。然后它会返回到本地机器。
或
输出返回到本地计算机的stdout,并且可以附加到本地计算机上的文件中。
所以如果我在本地机器上有一个for循环
for i in ip1 ip2
do
ssh user@remotemachine_ip "some command"
我正在通过一个跳投箱访问一个远程主机。如果我通过ssh shell访问远程主机,就可以轻松地访问它:
ssh remoteHost
Last login: Tue Feb 16 12:56:26 2016 from xx.xxx.xx.xx
remoteHost:user:~$ ls
<shows all the stuff>
但是,当我试图通过SSH命令行选项执行命令时,我总是得到:
ssh remoteHost ls
"ls" isn't allowed to be executed.
Killed by signal 1.
我可以在某些主机上
我正在尝试制作一个远程mysqldump,然后用rsync下载它,这一切都很好,但我也想记录我现在只在终端输出中看到的远程错误。我指的是像mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES?这样的错误
这是我代码的重要部分:
MYSQL_CMD="mysqldump -u ${MYSQL_USER} -p${MYSQL_PASS} $db -