我正在尝试scp将目录中的所有文件传输到另一个盒子 - 但我似乎只在另一台机器上接收一个文件。我使用的脚本如下;
#!/usr/bin/expect -f
# connect via scp
spawn scp -r /var/opt/backup/mariadb/ user@ip:address:of:box:/var/opt/backup/
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send "password\r"
}
}
expect eof
echo "copy completed"
echo "removing backup files now"
rm -rf /var/opt/backup/mariadb
echo "remove completed"
echo "finished!"
从我所看到的,递归命令就像我已经实现它所以我不太确定为什么我可能只收到一个文件。
任何人都可以看到我的代码存在任何问题。
添加了更多信息:我发现该副本实际上卡在以下行中events_waits_summary_global_by_event_name.frm
由于
在重定向日志上输出less命令
^MSwifteHots.frm 0% 0 0.0KB/s --:-- ETA^MSwifteHots.frm 100% 8600 8.4KB/s 00:00
^MChatSessions.frm 0% 0 0.0KB/s --:-- ETA^MChatSessions.frm 100% 8626 8.4KB/s 00:00
^MMessages.frm 0% 0 0.0KB/s --:-- ETA^MMessages.frm 100% 8640 8.4KB/s 00:00
^MApnsDevices.frm 0% 0 0.0KB/s --:-- ETA^MApnsDevices.frm 100% 8670 8.5KB/s 00:00
^MAvailableHots.frm 0% 0 0.0KB/s --:-- ETA^MAvailableHots.frm 100% 8604 8.4KB/s 00:00
^Mdb.opt 0% 0 0.0KB/s --:-- ETA^Mdb.opt 100% 65 0.1KB/s 00:00
^MShortlist.frm 0% 0 0.0KB/s --:-- ETA^MShortlist.frm 100% 8598 8.4KB/s 00:00
^MProfileImages.frm 0% 0 0.0KB/s --:-- ETA^MProfileImages.frm 100% 8896 8.7KB/s 00:00
^MPendingProfile.frm 0% 0 0.0KB/s --:-- ETA^MPendingProfile.frm 100% 8674 8.5KB/s 00:00
^MUserAccount.frm 0% 0 0.0KB/s --:-- ETA^MUserAccount.frm 100% 9111 8.9KB/s 00:00
^Mibdata1 0% 0 0.0KB/s --:-- ETA^Mibdata1 32% 3280KB 3.2MB/s 00:02 ETA^Mibdata1 45% 4688KB 3.0MB/s 00:01 ETA^Mibdata1 58% 5968KB 2.8MB/s 00:01 ETA^Mibdata1 72% 7376KB 2.7MB/s 00:01 ETA^Mibdata1 84% 8656KB 2.6MB/s 00:00 ETA^Mibdata1 98% 10MB 2.4MB/s 00:00 ETA^Mibdata1 100% 10MB 1.7MB/s 00:06
^Mxtrabackup_logfile 0% 0 0.0KB/s --:-- ETA^Mxtrabackup_logfile 100% 2048KB 2.0MB/s 00:00
^Mevents_waits_history.frm 0% 0 0.0KB/s --:-- ETA^Mevents_waits_history.frm 100% 9220 9.0KB/s 00:00
/var/tmp/cron.log (END)
答案 0 :(得分:0)
我只使用rsync而不是scp。
rsync -aP ~/dir1 username@remote_host:destination_directory
这里,“ - a”代表“archive”并递归同步并保留符号链接,特殊和设备文件,修改时间,组,所有者和权限。 “-P”显示您的进度。
请注意,源目录中没有尾部斜杠(使用rsync执行本地到本地时使用斜杠)。