1、安装sshpass(指定远程服务器的登录密码)
yum install -y sshpass
2、安装crontab
# 检查是否安装crontab
crontab -e
# 安装crontab
yum -y install vixie-cron
yum -y install crontabs
3、启动crontab
# 启动crontab
systemctl start crond.service
# 开机自启动
systemctl enable crond.service
4、创建shell文件
# 创建sh文件
vi crontab_rsync.sh
添加如下内容:
#! /bin/sh
# 当前系统日期
DATE=$(date +"%Y-%m-%d")
# Log存放路径
LogFile=$DATE.log
# 修改日志名称
mv 20*.log $LogFile
# 备份机房服务器图片到远程服务器
echo "------------------------------------------Backup to remote server, start at $(date +"%Y-%m-%d %H:%M:%S")----------------------------" >> $LogFile
sshpass -p 'abc_linux' scp -av --delete -e 'ssh -p 22' 12.9.19.29:/home/insp_photos/ /home/insp_photos/ >> $LogFile
# $?符号显示上一条命令的返回值,如果为0则代表执行成功,其他表示失败
if [ $? -eq 0 ];then
# 成功追加日志到日志文件
echo "----------------------------------------------Success!End at $(date +"%Y-%m-%d %H:%M:%S")--------------------------------------------" >> $LogFile
else
# 失败追加日志到日志文件
echo "---------------------------------------------Failed!End at $(date +"%Y-%m-%d %H:%M:%S")---------------------------------------------" >> $LogFile
fi
# crontab_rsync.sh文件授予可执行权限
chmod +x crontab_rsync.sh
5、设置定时任务
# 设置定时任务
crontab -e
将下面内容添加进去
00 03 * * * /root/crontab_rsync.sh
# 查看定时任务
crontab -l
# 重启crontab
systemctl restart crond.service