【如需要时时备份的话,看此链接:https://www.cnblogs.com/drgcaosheng/p/12186740.html】
数据需要定时的备份至其它的目录中,但是备份之前检查检查一下是否有rsync正在运行,曾经因为数据过大,导致有很多rsync进程在跑,然后服务器有出现卡死的现象。最终写了一条bash,先检查一下是否有这个进程,然后再来进行处理,只是简单的做记录,大神勿喷
《有小伙伴同步的时候反馈说远程的备份需要密码,其实我有偷偷的使用 ssh-keygen 生成过key,所以不需要密码的,下面是生成key的步骤》
1. 在需要备份的服务器上面运行
#ssh-keygen
然后一路回车
2.通过ssh-copy-id复制文件至远程的机器上面
#ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
输入一下密码即可
1. 先直接设置一下crontab的定时任务
[root@localhost mail]# crontab -l
*/5 * * * * bash /usr/local/mail/backrsync.sh
[root@localhost mail]#
2. 下面贴一下简单的bash的小脚本,前面是默认的常用的function,偷懒,直接复制过来了。
#!/bin/bash # Filename: backrsync.sh #printlog 函数说明 #两个参数,一,是否打印日志,二,日志内容 #一可选,0,1,0表示不打印日志内容出来,1表示打印日志内容出来 LOGFILE_PATH="/var/log/zdrsynclog" NOWTIME=`date "+%Y-%m-%d %H:%M:%S"` function printlog() { LOG_CONTENT="$NOWTIME $2" #echo $LOG_CONTENT if [ $1 -ne 0 ]; then echo $LOG_CONTENT echo $LOG_CONTENT>>$LOGFILE_PATH else echo $LOG_CONTENT>>$LOGFILE_PATH fi } #检查上一条命令执行是否正常,不正常退出 check_error_exit() { #echo $?"+++++++++++" RUSELT=$? if [ ${RUSELT} -ne 0 ]; then printlog 1 "#[ERROR] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" printlog 1 "#[ERROR] 恭喜,光荣而伟大的报错了 : "$1 printlog 1 "#[ERROR] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" exit 1 fi } #输出颜色字体 function echo_colour() { if [ $1 -eq 0 ]; then echo -e "