服务器备份脚本

简介:

服务器里的数据是相当地重要,要是服务器的数据坏了,没有备份那就玩大了。于是老大让做一个服务器数据备份脚本。
我思考了一下备份策略。定时将服务器里的数据打包通过网络存放到另一台服务器上就可以完成这个功能。

备份有3步骤:
(1)收集数据:将服务器里的数据从服务器数据目录复制到指定的目录下。
(2)数据打包:用tar将指定目录下的文件打包压缩。
(3)发送数据:通过网络将压缩文件发送到另一台服务器。 


1. 收集数据

    将网站数据复制到指定的目录,假设是/var/backup目录下。


BackupPath=/var/backup
cp -r /var/www/zt $BackupPath

2. 压缩数据


FileName=backup-`date +%Y%m%d`.tar.gz
tar czf $TempFile $BackupPath

 3. 发送文件

   发送文件可以选择ftp发送。也可以自己写一个文件传递协议。


FileName=$1
T=Temp.ftp
echo "user $ftp_user $ftp_passwd" > $T
echo "binary" >> $T
echo "cd /xxx/yyy" >> $T
echo "put $FileName" >> $T
echo "bye" >> $T
ftp -i -n $ftp_ip < $T
rm $T

如何实现定时处理?
我想的最原始的方法就是开一个后台程序:


while true; do
    ./backup.sh  # 备份
    sleep period_time  # 延时一个周期
done

后来发现有另一个更方便的方法就是crontab

扩展功能:立即备份
有时候,我们对网络里的数据做了大量的修改,如果在定时备份前丢失了,那也就太可惜了。如果有一个立即备份功能,在完成大量修改之后立即备份就OK了。
实现方法很简单,就是开一个后台服务进程,通过网络监听“backup-now”命令,一旦收到命令就执行一次backup。


这是我Shell程序的目录组织结构:


.
|-- backup.sh
|-- collect.d
|   |-- collect_review.sh
|   `-- collect_zentao.sh
|-- config
|-- send_file.d
|   |-- send_file_by_ftp.sh
|   `-- send_file_by_netcat.sh
`-- send_file.sh

目录
相关文章
|
23天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
31 1
|
1月前
|
存储 Linux 网络安全
【VMware VCF】使用 SFTP 服务器备份 VCF 核心组件的配置文件
【10月更文挑战第6天】以下是使用 SFTP 服务器备份 VMware VCF 核心组件配置文件的步骤:首先,设置 SFTP 服务器并配置用户账号与权限;其次,确保 VCF 环境能与 SFTP 服务器建立网络连接,并检查防火墙规则;接着,识别核心组件配置文件的位置,并使用 SFTP 客户端工具(如 `lftp` 或 WinSCP)进行备份;最后,验证备份结果的完整性和正确性,并定期执行备份操作,设置备份文件保留策略以节省存储空间。
|
2月前
|
数据安全/隐私保护
服务器备份的常见方法包括完全备份、增量备份、差异备份和实时备份
服务器备份的常见方法包括完全备份、增量备份、差异备份和实时备份
344 3
|
2月前
|
存储 容灾 Linux
服务器备份
服务器备份
29 2
|
2月前
|
数据安全/隐私保护
服务器备份有哪些方法?
服务器备份有哪些方法?
122 1
|
3月前
|
运维 监控 数据库
自动化运维:使用Python脚本实现服务器监控
【8月更文挑战第31天】在这篇文章中,我们将探索如何利用Python编写简单的脚本来实现对服务器的基本监控。通过学习和应用这些技术,你可以快速检测服务器的状态,包括CPU使用率、内存占用和磁盘空间等关键指标。这不仅有助于及时发现问题,还能提升运维效率。文章将逐步引导你理解监控的重要性,并展示如何从零开始构建自己的监控工具。
|
3月前
|
监控 数据挖掘 Linux
Linux服务器PBS任务队列作业提交脚本的使用方法
【8月更文挑战第21天】在Linux服务器环境中,PBS任务队列能高效管理及调度计算任务。首先需理解基本概念:作业是在服务器上执行的任务;队列则是等待执行任务的列表,具有不同的资源限制与优先级;节点指分配给作业的计算资源。
381 4
|
3月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
47 3
|
3月前
|
网络协议 安全 Unix
6! 用Python脚本演示TCP 服务器与客户端通信过程!
6! 用Python脚本演示TCP 服务器与客户端通信过程!
|
3月前
|
监控 Linux Shell
"揭秘!一键掌控Linux服务器健康的秘密武器——超实用系统检查脚本,让你的服务器稳如老狗,告别宕机烦恼!"
【8月更文挑战第14天】服务器宕机或资源耗尽会严重影响业务。为此,你需要一个Linux系统检查脚本来守护服务器健康。它可以自动检测潜在问题如磁盘满载、内存泄漏等,避免服务中断。脚本应包括磁盘空间、内存/CPU使用、系统时间准确性、关键服务状态及系统日志分析等检查项。通过编写并定期运行这样的脚本,可以显著提高服务器的稳定性和可靠性。
48 1