场景
有些大文件在 SHELL 中使用 scp 命令传递时由于时间较长,会由于打开 SHELL 窗口的客户机关机等问题导致文件传输失败,因此可以利用 Linux 的 crontab 来让系统定时自动拷贝(如利用夜里时间),拷贝完成后删除掉 crontab 中的定时计划即可;
crontab 的格式:
- 分(0-59)
- 小时(0-23)
- 日期(1-31)
- 月份(1-12)
- 星期几(0-6,0 为星期天)
- 具体命令
crontab 查询命令:
crontab -l
crontab 编辑命令:
crontab -e
1 19 1 8 1 /usr/bin/scp /data/file1.tar.gz root@remote_server_ip:/home/data-bak/
1 20 1 8 1 /usr/bin/scp /data/file2.tar.gz root@remote_server_ip:/home/data-bak/
设置免密登录
还需要配置免密登录,才能自动执行拷贝命令
在设置 crontab 的服务器运行:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id root@remote_server_ip