码迷,mamicode.com
首页 > 其他好文 > 详细

NFS,rsync3-1

时间:2019-03-01 09:30:18      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:app   机器   重要   lag   pts   ip地址   要求   nta   密码   

某公司里有一台NFS服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份。
要求如下:
每天晚上00点整在NFS服务器nfs01上打包备份网站程序目录等并通过rsync命令推送到备份服务器backup上备份保存(备份思路:可以是先在本地按IP地址+日期打包,然后再利用rsync推送到备份服务器上)。
具体要求如下:
1).NFS服务器nfs01和备份服务器backup的备份目录必须都为/backup;

  1. [root@nfs01 backup]# pwd
    /backup
    [root@nfs01 backup]# hostname
    nfs01
  2. [root@backup backup]# pwd
    /backup
    [root@backup backup]# hostname
    backup
    2).NFS服务器站点目录假定为(/var/www/html);
    1. [root@nfs01 html]# pwd
      /var/www/html
      [root@nfs01 html]# hostname
      nfs01
      3).NFS服务器脚本目录假定为(/server/scripts);
      [root@nfs01 scripts]# pwd
      /server/scripts
      [root@nfs01 scripts]# hostname
      nfs01
      4).NFS服务器站点日志目录假定为(/app/logs);
  3. [root@nfs01 logs]# pwd
    /app/logs
    [root@nfs01 logs]# hostname
    nfs01
    5).NFS服务器个人配置文件目录路径(/etc/rc.d/rc.local);
  4. [root@nfs01 rc.d]# pwd
    /etc/rc.d
    [root@nfs01 rc.d]# ls
    init.d rc rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local rc.sysinit
    6).NFS服务器定时任务文件路径为(/var/spool/cron/root);
    [root@nfs01 cron]# pwd
    /var/spool/cron
    [root@nfs01 cron]# ls
    root
    [root@nfs01 cron]# cat root
    #time sync by lidao at 2018-12-07
    /5 * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1
    7).将以上文件或目录打包(2-6条所示)推送到备份服务器backup ;
  5. [root@nfs01 backup]# tar -czvf /backup/bak$(date +%F).tag.gz /var/www/html/ /server/scripts/ /app/logs/ /etc/rc.d/rc.local /var/spool/cron/root && rsync -avz /backup/bak$(date +%F).tag.gz rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
    8).NFS服务器本地仅保留7天内的备份;
    8.1 [root@nfs01 backup]#crontab -e
    0 /bin/find /backup/ -type f -name "." -mtime +7 -exec rm {} \;
    9).备份服务器上检查备份结果是否正常,并将每天的备份结果发给管理员信箱;
  6. root@backup scripts]# /etc/init.d/postfix start #备份服务器开启邮件队列,否则无法发送。
    [root@backup scripts]# vi /etc/mail.rc #备份服务器配置邮件把下面的配置命令放到这个文件的最后一行
    set from=发送邮件的邮箱@163.com smtp.163.com smtp-auth-user=邮箱的客户端授权码 smtp-auth-password=邮箱的密码 smtp-auth=login

2.备份服务器上的检查脚本如下:
[root@backup scripts]# cat check.sh
#!/bin/bash
IP=$(ifconfig eth1|awk -F "[ :]+" ‘NR==2{print $4}‘)
Path=/backup
if [ $(date +%w) -eq 0 ]
then
Time="week$(date +%F%w -d "-1day")"
else
Time=$(date +%F -d "-1day")
fi

LANG=en &&\

/bin/find /backup -type f -name "flag_${Time}.log"|xargs md5sum -c >>$Path/${Time}_result.log 2>&1
/bin/mail -s "$Time bak result" 管理员的邮箱 <$Path/${Time}_result.log && \
/bin/find /backup/ -type f -mtime +180 ! -name "
week_6"|xargs rm -f
测试结果如下

10).备份服务器上每周六的数据都保留,其他备份仅保留180天备份。
10.1 [root@nfs01 backup]#crontab -e
0 /bin/find /backup/ -type f ! -name "file_$(date +%F_6.tag.gz" -mtime +180 -exec rm {} \;

NFS,rsync3-1

标签:app   机器   重要   lag   pts   ip地址   要求   nta   密码   

原文地址:https://blog.51cto.com/816885/2356226

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!