Shell脚本备份数据的博文不少,这个应该算是比较简单的,没有复杂逻辑,分享一下。
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 {} \;
给可执行文件赋予权限的操作不要忘记。
# 给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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。