#!/bin/bash
#文件全备脚本
#删除7天以前的文件
#调用方法
#yxy
#www.sql8.net
#anybooks@qq.com
#2014-08-20
#请主意所有路径都为全整目录
#sh filebak.sh 要备份的目标目录 备份文件存放路径 保留文件的天数
#sh filebak.sh /home/wd/wd/wd /home/wd/wd/bakup 7
#sh filebak.sh /home/dd/dd/dd /home/dd/dd/bakup 7
#path
path=$1
backupPath=$2
n=$3
#参数不全
if [ "$path" == "" ] || [ "$backupPath" == "" ] || [ "$n" == "" ]; then
echo "Insufficient arguments"
exit 1
fi
#目标目录不存,退出
if [ ! -d "$path" ]; then
echo "Directory does not exist"
exit 1
fi
#如果存放备份文件的目录不存,新建
if [ ! -d "$backupPath" ]; then
mkdir "$backupPath"
fi
#Time information
#时间
time=`date +"%Y-%m-%d-%H-%M-%S"`
day=`date +"%d"`
month=`date +"%Y-%m"`
weekday=`date +"%u"`
#路径最后一个目录
folderName=`basename $path`
fileName=$folderName$day$time.tar.gz
#如果文件存在,删除
if [ -e "$fileName" ]; then
rm -rf $fileName
fi
cd $path
cd ..
tar -zcf $fileName $folderName
#移动备份文件到备份目录
mv $fileName $backupPath
#删除N天前的数据
find $backupPath -name "$folderName*.gz" -type f -mtime +$n -exec rm {} \;
********************crontab设置**********************************************
根据需要设置相关备份规则,此处略则部分规则
#每天1点备份
0 1 * * * cd /opt/backup/database && ./1.sh
#每周一1点备份
0 1 * * 1 cd /opt/backup/database && ./1.sh
#每2小时备份
0 */2 * * * cd /opt/backup/database && ./1.sh
#每2天备份
0 0 */2 * * cd /opt/backup/database && ./1.sh
#每个月5号1点20分备份
20 1 5 * * cd /opt/backup/database && ./1.sh
更多contrab规则请看
http://www.sql8.net/a/course/caozuoxitong/liunx/2014/0815/30328.html
mysql全备脚本升级版,支持多台主机,多个数据库 http://www.sql8.net/a/course/caozuoxitong/liunx/2014/0820/30545.html
mysql全备脚本,此脚本可以备份多个数据库:http://www.sql8.net/a/course/shujuku/Mysql/2014/0815/30340.html
分享到:
相关推荐
linux 批量解压文件shell脚本 教程:https://www.bilibili.com/video/BV1Zi4y1C7rL?spm_id_from=333.999.0.0
linux 平台下的rman全备份和增量备份
根据MD5HASH监控LINUX的目录文件 是否被改变
linux脚本sftp上传文件
【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本
MySQL全备脚本,可以直接使用。放心使用。稍稍更改一下脚本就可以了
Linux运维自动化运维脚本.zip,自动化运维脚本 介绍 Linux系统运维中各种一键脚本 使用教程 openssh一键升级脚本,支持centos6、centos7、centos8。 Linux运维自动化运维脚本.zip,自动化运维脚本 介绍 Linux系统...
linux自动删除文件 chell脚本
linux传输文件脚本(无需手动输入密码)
Mysql全备脚本发附件到邮箱!该脚本仅供参考学习使用!
linux批量上传文件脚本,两个参数,第一个为记录要上传的文件的文件名: root@ubuntu:/home/zhangy# cat test /home/zhangy/test/aaa /home/zhangy/test/nginx.conf /home/zhangy/test/test.sql /home/zhangy/...
很多刚刚接触服务器的小白科研档跟我一样,自己设定了一堆abaqus作业命令,本来在window服务器下可以运行,但是,毕竟自己的电脑计算...因此我制作了如何在linux服务器中批量运行脚本文件详细步骤,希望对大家有用。
bat脚本实现将Windows文件上传至Linux服务器 不同选项实现具体功能、检查资源存在 、 确认上传
RMAN全备脚本,我们公司搭用的oracle rac,所以ASM备份恢复通过rman实现,已实践!
linux下自动备份数据文件脚本,只需要修改日期,按日期备份,定时删除。
linux常用定时日志清理脚本,一些应用服务器长年累积日志量庞大,用这个定时任务清理指定日志类文件。参考下吧~
假设A与B为两个目录,B目录跟A目录有交集,或者B目录为A目录的子集,本拷贝脚本适合用于将A目录中存在于B目录中的文件复制到B目录,而不会将A目录下面多余的文件一并拷贝到目录B中。
Linux下自动备份Mysql文件shell脚本。
linux 脚本加密文件
这个是用于Linux平台的文件清理脚本,清理定期的文件目录