#!/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
分享到:
相关推荐
### 根据MD5HASH监控LINUX的目录文件的bash脚本:深入解析与实践 在网络安全和系统管理领域,确保文件的完整性和安全性是一项至关重要的任务。在Linux环境中,利用脚本来自动化这一过程可以极大地提高效率和响应...
linux脚本sftp上传文件
在Linux服务器环境中,批量执行脚本文件是一种常见的任务,尤其对于需要进行大量计算或自动化运维的场景,如在本文提到的Abaqus作业。Abaqus是一款强大的有限元分析软件,常常用于工程模拟和计算。在Windows系统中,...
linux传输文件脚本(无需手动输入密码)
linux批量上传文件脚本,两个参数,第一个为记录要上传的文件的文件名: root@ubuntu:/home/zhangy# cat test /home/zhangy/test/aaa /home/zhangy/test/nginx.conf /home/zhangy/test/test.sql /home/zhangy/...
### MySQL全备脚本及邮件发送附件解析 #### 脚本概述 本文将详细介绍一个用于MySQL数据库全量备份并将其作为附件通过电子邮件发送的Shell脚本。此脚本不仅适用于实际环境中数据库备份的需求,同时也为学习Shell脚本...
bat脚本实现将Windows文件上传至Linux服务器 不同选项实现具体功能、检查资源存在 、 确认上传
linux下自动备份数据文件脚本,只需要修改日期,按日期备份,定时删除。
Linux 系统 Tomcat 重启脚本判断日志超过一定大小自动重启,是指在 Linux 操作系统中使用 shell 脚本来监控 Tomcat 服务器的日志文件大小,当日志文件超过一定大小时,自动重启 Tomcat 服务器,以确保服务的稳定运行...
假设A与B为两个目录,B目录跟A目录有交集,或者B目录为A目录的子集,本拷贝脚本适合用于将A目录中存在于B目录中的文件复制到B目录,而不会将A目录下面多余的文件一并拷贝到目录B中。
为了简化这一过程,我们可以利用Linux Shell脚本来制作一个Java Web项目的安装包。以下将详细讲解这个过程及其涉及的知识点。 1. **Linux Shell脚本基础**: Linux Shell脚本是一种文本文件,包含了执行命令行操作...
Linux下自动备份Mysql文件shell脚本。
总结来说,`Linux rar及zip 批量替换`这一标签代表的是利用Linux shell脚本对rar和zip压缩文件进行自动化操作,特别是替换其中特定文件的功能。这两个脚本是实现这一功能的具体实例,通过它们,我们可以高效地处理...
书中详细介绍了常见的Linux命令,例如`ls`用于列出目录内容,`cd`用于切换目录,`mkdir`和`rmdir`用于创建和删除目录,`touch`用于创建或修改文件时间戳,`cp`和`mv`用于复制和移动文件,`rm`用于删除文件,`cat`和`...
nfs要共享的文件夹和共享ip自己手动设置。 Linux服务器中执行该脚本,可以共享文件夹
1.4 ls查看文件/目录 3 1.5 cd改变工作目录 4 1.6 pwd显示工作目录 4 1.7 mkdir创建目录 5 1.8 rmdir删除空目录 5 1.9 cp文件/目录拷贝 5 1.10 mv文件/目录改名、移动 6 1.11 rm文件/目录删除 6 1.12 cat查看文件...
该脚本可配合定时任务实现定期备份文件、并删除久远备份文件,脚本中使用“年月日时分”作为备份文件名,并以此作为判断来配合设置的diff值删除久远的备份文件,脚本中删除备份时间大于一天的备份文件。
Linux 系统 shell脚本读取配置文件
Linux系统安全基线检查脚本