linux定时复制文件到远程服务器

1. 安装expect

yum install expect

2.编写copy.sh脚本

2.1 在home目录下新增copy.sh文件并授权

cd /home
touch copy.sh
chmod u+x copy.sh
vi copy.sh

2.2 复制以下内容 并修改待备份服务器 账号 密码 端口 ip字段

#备份服务器 文件目录
filepath=/data
​
#待备份服务器所用账号的密码 ip
username=root
password=123
ip=172.16.14.13
prot=22
​
echo "`date +%Y%m%d` start upload......"
echo "`date +%Y%m%d` start upload......" > /home/import.log
​
sleep 5s
​
echo "start copy datafile from remote path..."
echo "start copy datafile from remote path..." >> /home/import.log
​
/usr/bin/expect <<EOF
#设置超时时间
set timeout 36000
#-r 为 递归复制整个目录,即现在会将/home/20181025/整个文件夹拷贝过去
#-p 为保留源文件权限
#顺便提下 -P 22 可以修改传输端口,不写默认为22
#root为B上的用户账号
#/home/ 为传输到的目录,即A上的/data 整个文件夹会被放到B上的/home/文件夹下
spawn scp -r -p $prot $filepath $username@$ip:/home/
expect "*assword:"
send "$password\r"
send "exit\r"
expect eof
EOF
​
if [ $? = 0 ]; then
        echo "datafile copy successful!"
        echo "datafile copy successful!" >> /home/import.log
else
        echo "datafile copy failed!"
        echo "datafile copy failed!" >> /home/import.log
fi
​

3. 使用crontab 创建定时任务

时间示例(可自行设置执行时间):
43 21 * * * 每天的21:43 执行

15 05 * * *    每天的05:15 执行

0 17 * * * 每天的17:00 执行

0 17 * * 1 每周一的 17:00 执行

0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行

0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行

0 0 1,15 * 1 毎月1日和 15日和 一日的 0:00 执行

42 4 1 * *     毎月1日的 4:42分 执行

0 21 * * 1-6   周一到周六 21:00 执行

0,10,20,30,40,50 * * * * 每隔10分 执行

*/10 * * * *        每隔10分 执行

1 * * *         从1:0到1:59 每隔1分钟 执行
0 1 * * *         1:00 执行

0 */1 * * *        毎时0分 每隔1小时 执行

0 * * * *         毎时0分 每隔1小时 执行

2 8-20/3 * * *      8:02,11:02,14:02,17:02,20:02 执行

30 5 1,15 * *       1日 和 15日的 5:30 执行
 

我这边是每天凌晨一点跑一次

crontab -e

将 * 1 * * * /home/copy.sh 复制进去并保存

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值