(1)、写脚本
scp专为远程拷贝设计的 ,传送过程也使用了ssh加密,可是使用scp要手动输入用户名和密码 网上有不少解决的办法,这里我使用 的是expect这个软件,因此须要先按照expect这个包,最简单方法经过yum install expect,想了解更多经过man expect进行查看。下边脚本是经过expect进行无密码输入,从远程直接拷贝文件过来。git
[root@zabbix-server]# yum install expect -y [root@zabbix-server script]# cat scp.sh #! /bin/sh source /etc/profile ######引入环境变量 source ~/.bash_profile export pass=xxxx export name=xxxx expect -c " spawn scp -r xxxx@X.X.X.X:/var/opt/gitlab/git-data/repositories/ /data/repositories expect { \"*assword\" {set timeout -1; send \"$pass\r\"; exp_continue;} \"yes/no\" {send \"yes\r\";} } #expect eof exit" date +%F-%T
(2)、作定时任务bash
[root@zabbix-server script]# crontab -l 0 1 * * * /root/script/scp.sh >>/tmp/scp.log 2 >& 1
查看日志,能够先测试,若是手动执行时成功的,经过定时任务怎么都不成功的话,通常都是环境变量的问题,因此开头引入环境变量source /etc/profile source ~/.bash_profilessh
出现过多的进程批量杀掉的方法
ps -ef|grep sshd|grep kjuser|grep -v grep |awk '{print $2}'|xargs kill -9
ps -ef|grep sshd|grep kjuser|grep -v grep |awk '{print $2}'|xargs kill -9ide