Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)

简介: Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)

Shell脚本备份数据的博文不少,这个应该算是比较简单的,没有复杂逻辑,分享一下。

1.备份脚本

Shell脚本的每行命令一定要在测试环境进行测试,否则会有意想不到的惊吓😨,以下是showDocBackUp.sh的内容。

这里是纯净版本,修改地址就可以使用:

#!/bin/bash
cp /showdoc_data/html/Sqlite/showdoc.db.php  /home/showDocFile/tmp/showdoc.db.php
cp -r /showdoc_data/html/Public/Uploads/* /home/showDocFile/tmp/
tar -zcPvf /home/showDocFile/BackUpFile-$(date +%Y%m%d).tar.gz /home/showDocFile/tmp/*
rm -rf /home/showDocFile/tmp/*
find /home/showDocFile -mtime +30 -name "BackUpFile*.tar.gz" -exec rm -rf {} \;

这里是带解析的版本:

#!/bin/bash
# 这行是copy文件,当然也可以对复制的文件进行重命名操作,多个文件进行备份可以写多行。
cp /showdoc_data/html/Sqlite/showdoc.db.php  /home/showDocFile/tmp/showdoc.db.php
# 这行是copy文件夹文件。
cp -r /showdoc_data/html/Public/Uploads/* /home/showDocFile/tmp/
# 压缩文件夹下的所有文件并添加日期后缀。
tar -zcPvf /home/showDocFile/BackUpFile-$(date +%Y%m%d).tar.gz /home/showDocFile/tmp/*
# 压缩后删除临时文件。
rm -rf /home/showDocFile/tmp/*
# 查找30天前的文件,并删除。
find /home/showDocFile -mtime +30 -name "BackUpFile*.tar.gz" -exec rm -rf {} \;

2.定时任务

给可执行文件赋予权限的操作不要忘记。

# 给showDocBackUp.sh文件赋予可执行权限 
chmod -R 777 showDocBackUp.sh

Linux的 cron 表达式跟Java的 cron 表达式不同,这里要注意。

# m h dom mon dow command
# 分 时 日 月 周    要执行的命令
# 编辑定时任务列表
crontab -e
  # 添加以下文本(每天00:00执行showDocBackUp.sh脚本)
  00 00 * * * /home/showDocFile/shell/showDocBackUp.sh
# 重启 cron 服务
sudo service crond restart
目录
相关文章
|
12月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
266 18
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
缓存 监控 Shell
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
381 5
|
Shell
Shell 文件包含
10月更文挑战第5天
191 4
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
394 6
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
|
Shell
删除常规文件及隐藏文件shell脚本
删除常规文件及隐藏文件shell脚本
190 1
|
Shell
复制查到到的文件到另一个目录(shell脚本)
Test:find ../../res.bak/item/ -type f -name "*.jpg" |xargs -n1 -i echo {}."abc" 控制台上可看到如下信息:   find .
879 0