Linux 时间+;sftp命令脚本:如何将输出正确重定向到日志文件

Linux 时间+;sftp命令脚本:如何将输出正确重定向到日志文件,linux,bash,shell,ubuntu,sftp,Linux,Bash,Shell,Ubuntu,Sftp,我构建了一个脚本来自动化每天的ftp下载过程。为使其更简单,请执行以下操作: #!/usr/bin/env bash time sshpass -p "mypass" sftp myuser@sftp.domain.com:/myremotepath/myfile.txt.gz /mylocalpath/myfile.txt.gz time sshpass -p "mypass" sftp myuser@sftp.domain.com:/myremote

我构建了一个脚本来自动化每天的ftp下载过程。为使其更简单,请执行以下操作:

#!/usr/bin/env bash
time sshpass -p "mypass" sftp myuser@sftp.domain.com:/myremotepath/myfile.txt.gz /mylocalpath/myfile.txt.gz 
time sshpass -p "mypass" sftp myuser@sftp.domain.com:/myremotepath/myfile2.txt.gz /mylocalpath/myfile2.txt.gz 
我执行如下脚本将输出行重定向到日志文件:

./sftp_test.sh  > /mylogpath/sftp_test.log 2>1&
但它并没有像预期的那样发挥作用。只保存“Fetching/myremotepath/myfile2.txt.gz to/mylocalpath/myfile2.txt.gz”这样的行。不是时间命令输出。不是其他的sftp线路

如果不使用“>/mylogpath/sftp_test.log 2>1&”部分手动执行脚本,我希望将输出完全保存为我看到的样子

我还尝试了tee命令,但没有成功


我该怎么做呢?

脚本可能是这里的一个选项,因此:

script -c ./sftp_test.sh /mylogpath/sftp_test.log
-c标志表示在非交互式环境中运行命令