Python 从一台服务器到另一台服务器的文件传输
我在server1中有一个文件(file.txt),路径(/home/a/file1.txt)中的userid为“username1”,希望将此文件传输到其他服务器“server2”,userid为“username2”,并希望将该文件放置在路径(/home/B/)中。我写了下面的代码,但它并没有按预期工作。我哪里出错了Python 从一台服务器到另一台服务器的文件传输,python,unix,airflow,Python,Unix,Airflow,我在server1中有一个文件(file.txt),路径(/home/a/file1.txt)中的userid为“username1”,希望将此文件传输到其他服务器“server2”,userid为“username2”,并希望将该文件放置在路径(/home/B/)中。我写了下面的代码,但它并没有按预期工作。我哪里出错了 import airflow from airflow import DAG from airflow.operators.bash_operator import BashO
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
from airflow.contrib.operators.ssh_operator import SSHOperator
from airflow.contrib.hooks.ssh_hook import SSHHook
from airflow.contrib.sensors.sftp_sensor import SFTPSensor
default_args = {
'owner': 'john',
'depends_on_past': False,
'email': [''],
'email_on_failure': False,
'email_on_retry': False,
'retries': 0,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
'file transfer',
default_args = default_args,
description='A file transfer',
schedule_interval=None)
bash_file_transfer = """
cp server1@username1:/home/A/file1.txt server2@username2:/home/B/
"""
t1 = SSHOperator(
ssh_conn_id='server1_conn'
task_id='connected_to_server1'
dag=dag
)
t2 = SFTPOperator(
sftp_conn_id='server2_conn'
task_id='transfer file from server1 to server2'
command=bash_file_transfer,
dag=dag
)
t1 >> t2
我认为你的错误在
bash\u文件传输声明上。应该是scp
,而不是cp
如果我也有scp,它会抛出一个错误