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
目录
相关文章
|
1月前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
53 1
|
9天前
|
Unix Linux
Linux中的Crontab:定时任务管理器
`crontab`是Linux下的定时任务管理器,用于设置周期性执行的任务。用户可以通过`crontab -l`查看任务,`crontab -e`编辑,`crontab -r`删除任务。任务格式为:`* * * * * command`,分别代表分钟、小时、日期、月份、星期,例如`30 10 * * * /path/to/script.sh`。注意确保命令有执行权限,处理环境变量,并关注日志文件 `/var/log/syslog` 或 `/var/log/cron`。学会使用`crontab`能有效自动化Linux系统的日常任务。
|
1月前
|
关系型数据库 MySQL Shell
备份 MySQL 的 shell 脚本(mysqldump版本)
【4月更文挑战第28天】
25 0
|
11天前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
|
11天前
|
机器学习/深度学习 Shell Linux
linux shell脚本判断文件或文件夹是否存在循环操作
linux shell脚本判断文件或文件夹是否存在循环操作
|
1月前
|
存储 网络协议 Shell
第十章 Shell编程时常用的系统文件
第十章 Shell编程时常用的系统文件
|
1月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
81 0
|
1月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
57 0
|
1月前
|
运维 Shell Linux
Linux 之大数据定制篇-Shell 编程
Linux 之大数据定制篇-Shell 编程
127 0
|
8月前
|
网络协议 Shell Linux
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
78 0