解决全网服务器备份至rsync,每日通知管理员备份结果

解决全网服务器备份至rsync,每日通知管理员备份结果

//每天需要备份的服务器上运行定时任务备份,具体备份的文件自定义(下面列举了一些)
[root@lb-node1 /soft/scripts]# vim rsync_cron_backup.sh 

#!/bin/bash

###Client
Client_BackupDIR=/backup
Client_Host=$(hostname)
Client_IP=$(/sbin/ifconfig eth0|awk 'NR==2'|awk -F " " '{print $2}')
Client_Date=$(/usr/bin/date +%F)
Client_Date_File=$(/usr/bin/date  +%H_%M)
Client_Desc_DIR="$Client_BackupDIR"/"$Client_Host"_"$Client_IP"_"$Client_Date"

[ ! -d $"$Client_Desc_DIR" ] && mkdir -p "$Client_Desc_DIR"

### copy conf,base
/bin/tar czf "$Client_Desc_DIR"/conf_"$Client_Date".tar.gz -C / var/spool/cron/ etc/rc.local etc/fstab etc/hosts && \

## log
/bin/tar czf "$Client_Desc_DIR"/system_log_"$Client_Date".tar.gz -C / var/log/nginx/ && \

## scripts
/bin/tar czf "$Client_Desc_DIR"/scripts_"$Client_Date".tar.gz -C / soft/scripts/ && \

## Nginx
/bin/tar czf "$Client_Desc_DIR"/nginx_conf_"$Client_Date".tar.gz -C / etc/nginx && \

## md5sum
/usr/bin/md5sum "$Client_Desc_DIR"/*_"$Client_Date".tar.gz > "$Client_Desc_DIR"/flag_"$Client_Date".md5 

### Rsync ###
Server_User=rsync_backup
Server_IP=rsync-server
Server_mode=backup/
Server_pass=/etc/rsync.secrets
/usr/bin/rsync -avz  $Client_BackupDIR/ $Server_User@$Server_IP::$Server_mode --password-file=$Server_pass
	 
##find time out 7 delete
/usr/bin/find $Client_BackupDIR -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;

//添加到定时任务中
[root@lb-node1 /soft/scripts]# crontab -e
##rsync
* 14 * * * sh /soft/scripts/rsync_cron_backup.sh &>/dev/null

  • 定时邮件通知
[root@rsync-server /backup]# yum install -y mailx
[root@rsync-server /backup]# vim /etc/mail.rc
############
set from=lsszzqy@foxmail.com
set smtp=smtp.qq.com
set smtp-auth-user=lsszzqy@foxmail.com
set smtp-auth-password=16位授权码
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

//测试下是否可以发送
[root@rsync-server /backup]# mail -s "rsync show" lsszzqy@163.com < /tmp/mail.txt


在这里插入图片描述

//编写自动化发送邮件脚本
[root@rsync-server /backup]# vim /soft/scripts/rsync_mail.sh 
#!/bin/bash
Path=/backup/
Date=$(date +%F)
MailFile=/tmp/mail.txt
Mail_Title=Rsync_backup_$Date
Mail_User=lsszzqy@foxmail.com

# check md5sum
/usr/bin/find /backup/ -type f -iname "flag_*"|xargs md5sum -w -c > /tmp/mail.txt

# Send mail
/usr/bin/mail -s "$Mail_Title" $Mail_User < $MailFile

# Find Mtime 7
/usr/bin/find $Path -type d -mtime +7 |xargs rm -f


//添加到定时任务中
[root@rsync-server /backup]# crontab -e
###Rsync_backup
*/5 * * * * /usr/bin/sh /soft/scripts/rsync_cron_backup.sh &>/dev/null
###Rsync info mail
*/5 * * * * /usr/bin/sh /soft/scripts/rsync_mail.sh &>/dev/null
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以为您提供一个简单的Shell脚本,用于备份全网服务器数据:#!/bin/bash# 备份全网服务器数据for server in `cat server_list`dobackup_host $serverdone ### 回答2: 全网服务器数据备份的shell脚本主要是实现对服务器上的数据进行备份的自动化操作。具体实现的步骤如下: 1. 首先,我们需要确定备份的目标路径,可以选择本地硬盘、网络存储设备或者云存储服务。在脚本中,我们可以设置一个变量来存储备份路径的地址。 2. 然后,我们需要使用shell的一些命令来进行备份操作。通常可以使用tar命令对数据进行打包和压缩操作,并将其保存到备份路径中。在脚本中,我们可以使用`tar -czvf`命令来实现打包和压缩数据,`-c`表示创建新的备份文件,`-z`表示使用gzip压缩,`-v`表示显示详细操作信息,`-f`表示指定备份文件的名称。 3. 备份完成后,可以添加一些文件操作命令,如移动、删除、重命名等,以便对备份文件进行管理。例如,我们可以使用`mv`命令将备份文件移动到指定的目录中。 4. 为了实现定期备份,我们可以使用cron服务来定时执行备份脚本。通过编辑cron表达式,可以设置备份的间隔时间和执行时间。 总的来说,全网服务器数据备份的shell脚本需要确定备份路径、使用tar命令压缩数据、管理备份文件,并结合cron服务实现定时备份。此外,为了保证备份的可靠性,可以考虑在备份脚本中添加日志记录和错误处理等功能,以便监控备份过程中的任何异常情况。 ### 回答3: 全网服务器数据备份的shell脚本可以使用以下步骤进行实现: 1. 首先,我们需要创建一个新的脚本文件,例如backup.sh,并在文件开头添加#!/bin/bash来指定使用bash作为脚本的解释器。 2. 确定要备份的目标服务器,可以使用ssh命令远程登录到服务器。在脚本中添加ssh登录命令,例如:ssh user@serverIP,其中user是登录服务器的用户名,serverIP是服务器的IP地址。 3. 在登录到服务器之后,我们需要使用rsync命令来进行文件同步和备份rsync可以通过SSH协议安全地实现数据传输。在脚本中添加rsync命令,例如:rsync -avz --progress source_directory destination_directory,其中source_directory是要备份的目录,destination_directory是备份目标目录。 4. 可以使用tar命令创建一个压缩文件,将备份的数据打包起来以便于传输或存储。在脚本中添加tar命令,例如:tar -zcvf backup.tar.gz backup_directory,其中backup_directory是备份目录。 5. 最后,可以选择将备份文件传输到另一个目标服务器或存储设备上。可以使用scp命令将备份文件从源服务器复制到目标服务器,例如:scp backup.tar.gz user@destinationIP:destination_directory,其中destinationIP是目标服务器的IP地址,destination_directory是目标目录。 以上是一个简单的全网服务器数据备份的shell脚本示例。根据实际需求,可以根据需要调整和改进脚本中的命令和参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值