Linux FTP备份脚本:保留本地与远程7天内zip备份
需积分: 9 50 浏览量
更新于2024-09-07
1
收藏 1KB TXT 举报
该资源提供了一个使用Linux shell脚本来实现定期备份本地数据到FTP服务器的解决方案。脚本使用zip命令进行文件压缩,因为zip能够处理中文目录和文件名,而tar可能无法正确处理中文字符。脚本会在本地保留最新3份备份,在FTP服务器上保留最新7份备份。
在Linux环境中,为了实现这个备份策略,首先需要确保系统安装了FTP客户端(如`ftp`)和zip/unzip工具。可以通过以下命令安装:
```bash
yum install -y ftp unZip zip
```
接下来,创建一个名为`bak.sh`的脚本文件,用于定义备份的各个参数和执行备份操作。在这个示例中,将数据库目录设置为`/home/test`,备份存储位置设为`/home/backup`,FTP服务器的IP地址是`192.168.1.101`,用户名为`ftpuser`,密码为`12345`,FTP服务器上的备份目录为`backup`。
脚本的核心部分包括以下几个步骤:
1. 使用当前日期和时间生成备份文件名,如`bak_20220820_1530.zip`。
2. 使用`zip`命令将数据库目录`/home/test`的内容压缩成一个zip文件,存放在`/home/backup`目录下。
3. 使用`ls`、`awk`和`xargs`命令删除本地超过3个的旧备份文件。
4. 登录FTP服务器,将新备份文件上传,并按照时间顺序重命名FTP服务器上的旧备份文件,以保持最多7份备份。
5. 脚本最后设置了执行权限,并通过crontab配置定时任务,使其每天的00:00执行一次,实现自动化备份。
在执行脚本前,别忘了赋予它执行权限:
```bash
chmod u+x /home/bak.sh
```
然后,通过编辑crontab配置,添加定时任务:
```bash
crontab -e
```
在编辑器中添加一行:
```bash
0 0 * * * /home/bak.sh
```
保存并退出编辑器,这会安排脚本在每天的凌晨0点执行。
这个备份脚本对于那些需要定期备份并且希望在远程FTP服务器上保留一定期限历史数据的用户非常有用。它简化了备份过程,避免了手动操作的繁琐,并且通过保留多版本备份,提供了灾难恢复的额外保障。同时,由于作者对网络上泛滥的不可用或错误的备份脚本表示不满,这个脚本提供了一个实际可用的例子,可供学习和借鉴。
2017-07-14 上传
2011-04-13 上传
2020-09-15 上传
2018-10-22 上传
2021-01-10 上传
2012-03-10 上传
2014-09-23 上传
2013-02-01 上传
zglnje
- 粉丝: 0
- 资源: 11
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析