大佬教程收集整理的这篇文章主要介绍了公司实现全网备份项目:(rsync+定时任务),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
web01 10.0.0.7 BACkup 10.0.0.41 某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份。要求如下: 每天晚上12点整在Web服务器A(web01 )上打包备份网站程序目录并通过rsync命令推送到服务器B(BACkup)上备份保留 (备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上)。 rsync守护进程模式 定时任务 (脚本) 具体要求如下: 1)Web服务器A和备份服务器B的备份目录必须都为/BACkup。 #扩展备份到/BACkup下以ip地址命名的目录下 2)Web服务器站点目录假定为(/var/www/html)。 3)Web服务器本地仅保留7天内的备份。 4)备份服务器上每周六的数据都保留,其他备份仅保留180天备份。 5)备份服务器上检查备份结果是否正常(备份内容变?),并将每天的备份结果发给管理员信箱。**
[[email protected] ~]# cat /server/scripts/bak.sh #!/bin/bash IP=$(hostname -I|awk ‘{print $NF}‘) HOSTNAME=$(hostName) #mkdir dir mkdir -p /BACkup/$IP mkdir -p /var/www/html #tar tar zcf /BACkup/$IP/conf-$(date +%F-%w).tar.gz /etc/ /var/www/html #make md5 find /BACkup/ -type f -name "*.tar.gz"|xargs md5sum >/BACkup/$IP/web01.md5 #push rsync -avz /BACkup/ @L_616_5@::BACkup --password-file=/etc/rsync.passwd #del 7 day gao files find /BACkup/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f
[[email protected] ~]# sh /server/scripts/bak.sh tar: Removing leading `/‘ from member names sending incremental file list 172.16.1.7/conf-2019-05-21-2.tar.gz 172.16.1.7/web01.md5 sent 3,498 bytes received 19,269 bytes 45,534.00 bytes/sec @R_52_10586@l size is 10,213,793 speedup is 448.62 3、写入定时任务: [[email protected] ~]# crontab -l #BACkup * * * * * /bin/sh /server/scripts/bak.sh >/dev/null 2>&1 4、测试定时任务 (先按照每分钟测试,若没有问题再更改实际需要备份的时间)
[[email protected] ~]# find /BACkup/ -type f -name "*.tar.gz" ! -name "*-6.tar.gz" -mtime +180 | xargs rm rm: missing operand Try ‘rm --Help‘ for more information.---找不到文件,正常,因为没有,命令没有问题 [[email protected] ~]# tree /BACkup /BACkup └── 172.16.1.7 ├── conf-2019-05-21-2.tar.gz └── web01.md5 1 directory,2 files [[email protected]~]# md5sum -c /BACkup/*/*.md5 /BACkup/172.16.1.7/conf-2019-05-21-2.tar.gz: OK
[[email protected] ~]# cat /server/scripts/check.sh #!/bin/bash #check md5sum -c /BACkup/*/*.md5 >/BACkup/result.txt #find /BACkup/ -type f -name "*.md5"|xargs md5sum -c #del 180 ago find /BACkup/ -type f -name "*.tar.gz" ! -name "*-6.tar.gz" -mtime +180 | xargs rm mail -s "server is GOOD " [email protected] < /BACkup/result.txt
[[email protected] ~]# sh /server/scripts/check.sh
[[email protected] ~]# systemctl restart postfix.service [[email protected] ~]# [[email protected] ~]# systemctl is-active postfix.service active [[email protected] ~]# systemctl is-enabled postfix.service enabled [[email protected] ~]# systemctl status postfix.service ● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2019-05-21 15:13:43 CST; 2h 36min ago Process: 7905 ExecStart=/usr/sbin/postfix start (code=exited,status=0/succesS) Process: 7903 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited,status=0/succesS
最后写入一行:
set [email protected] smtp=smtp.163.com smtp-auth-user=xiaxia_5321 smtp-auth-password=shani123 (授权码) smtp-auth=login
重启一下服务systemctl restart postfix.service
3)发从邮件:
@H_137_43@mail -s "I love Linux " [email protected] </BACkup/result.txt
以上是大佬教程为你收集整理的公司实现全网备份项目:(rsync+定时任务)全部内容,希望文章能够帮你解决公司实现全网备份项目:(rsync+定时任务)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。