rsync + crontab + expect 快速搭建同步

时间:2022-05-27 07:58:23
一. 首先安装如下软件
# yum -y install expect rsync

二. 其次创建编写脚本 rsync_expect.exp 并修改为可执行文件
# vim rsync_expect.exp
 #!/usr/bin/expect
 set timeout 3000
 spawn rsync -azvP --delete /rsyncmaster/ root@ip_address:/rsyncslave/
 expect "password:"
 send "password\r"
 expect eof
 exit
# chmod 744 rsync_expect.exp

三. 最后编辑crontab 并创建日志文件
# crontab -e
*/1 * * * * /usr/bin/expect /rsynctest/rsync_expect.exp >> /rsynctest/rsync_expect.log 2>&1


备注:
   -> expect 程序对话与互动程序
  -> #!/usr/bin/expect 脚本用expect程序执行
  -> set timeout 3000 超时
  -> spawn 启动新的进程
  -> expect expect 就是 expect的内部命令,从进程接收字符串
  -> send 向进程发送字符串
   -> \r 回车符
   -> eof 结束
   -> exit 退出
   -> chmod 744 可执行
   -> crontab -e 编辑任务
  -> * * * * * Program 
     第一列:分
     第二列:小
     第三列:日
     第四列:月
     第五列:周
     第六列:需要执行的命令或软件
     “*”表示取值范围内的数字
     “/”表示“每” “*/1”第一个每1分钟
     “-”表示从某个数字到某个数字
     “,”分开几个离散的数字
   ->“>>” 重定向追加
   -> 2>&1 指将标准信息输出路径指定为错误信息输出路径(简单的说对的和异常信息都录入)


本文出自 “Sun_Hat” 博客,请务必保留此出处http://sunhat.blog.51cto.com/9142494/1893866