Bash脚本传输到Python - 将日志从服务器复制到另一个远程服务器

时间:2014-09-29 17:47:22

标签: python linux bash shell

我在bash中完成了我的简单脚本 - 此脚本应该将具有特定新名称的文件从服务器1传输到远程服务器2.

有人可以帮忙解决这个问题并将所有脚本传输到Python。

 #!/bin/bash

path=/opt/log #Im in dir /opt/log
fdate=$(date +%Y%m%d -d "-1 day") # yesterday date
file=maillog-$fdate     # log from yesterday which will be transfer to remote server
cp $path/$file /tmp/$HOSTNAME-$file  # copy $file to /tmp with the specific name of $HOSTNAME + $File name
gzip /tmp/$HOSTNAME-$file      # ZIP the file

rserver=hansus@hansus.edu.net    # remote server 
rpath=/opt/log/maillog # remote path

scp /tmp/$HOSTNAME-$file.gz $rserver:$rpath # copy the file to remote server to remote path

rm /tmp/$HOSTNAME-$file.gz # clean the /tmp dir
 #Done

1 个答案:

答案 0 :(得分:0)

有几个解决方案。

一个选项是齐声:

http://xmodulo.com/synchronize-files-between-two-servers.html

rsync解决方案:

首先需要ssh到其中一个服务器(这应该是微不足道的)。进入后你可以运行它。

rsync -rtlzv --ignore-errors -e ssh . username@hostname:/path/to/directory

来自:http://darcynorman.net/2009/01/07/how-i-move-stuff-between-servers-with-rsync/

scp解决方案:

我实际上认为这是最优雅的方式,因为你不必首先使用ssh。 Somethibng喜欢这样:

nohup scp alice@source:/the/answer/of/all bob@target.example.com:/var/tmp/42 &

来自:https://unix.stackexchange.com/questions/65116/does-a-scp-transfer-close-when-i-close-the-shell