`
SavageGarden
  • 浏览: 223227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

定期备份指定目录下多种日志类型的脚本(Bash Shell)

阅读更多
#在指定日期运行
today=$(date +%Y-%m-%d)
month=${today:5:2}
date=${today:8:2}
if [ "$date" != "4" ]; then
	echo "it will be run at yyyy-MM-04"
	exit
fi
#只保留两个月
function check_dir()
{
  dir_name=$1
	if [ "${today:0:4}" = "${dir_name:0:4}" ]; then
    mdstr=${dir_name#*"-"}
    mstr=${mdstr%"-"*}
		if [ "${mstr:0:1}" = "0" ]; then
			mstr=${mstr#*"0"}
		fi
		res=$(($month-$mstr))
		if [ $res -lt 2 ]; then
			return 1
    fi
	fi
	return 0
}

backuplog="/backup/backup_report.log"
over="/log/over_"
back="/backup/report/"

logtype1="logtype1"
logtype2="logtype2"
logtype3="logtype3"
logtype4="logtype4"

logtype_array=($logtype1 $logtype2 $logtype3 $logtype4)
length=${#logtype_array[*]}

while [ $index -lt $length ]
do
	over_path=$over${logtype_array[$index]}"/"
	back_path=$back${logtype_array[$index]}"/"
	`echo "------------------------------------------------------" >> $backuplog`
	`echo ${logtype_array[$index]}" backup start!" >> $backuplog`
	`echo "------------------------------------------------------" >> $backuplog`
	`echo "" >> $backuplog`
	for dir in `ls $over_path`
	do
		if `check_dir $dir`; then
			nowdate=`date`
			`echo "$nowdate	now backup $dir" >> $backuplog`
			cd $back_path
			if [ ! -d "$dir" ]; then
				`mkdir $dir`
			fi
			cd $over_path$dir
			`tar -zcf $dir".tar.gz" *`
			`mv $dir".tar.gz" $back_path$dir"/"`
			cd $over_path
			`rm -rf $dir`
		fi
	done
	`echo "" >> $backuplog`
	`echo "------------------------------------------------------" >> $backuplog`
        `echo ${report_array[$index]}" backup end!" >> $backuplog`
        `echo "------------------------------------------------------" >> $backuplog`
	index=`expr $index + 1`
done
 
0
0
分享到:
评论

相关推荐

    Mysql备份可以执行的shell脚本

    在shell脚本中,我们可以使用`mysqldump`命令来实现这两种类型的备份。 **全量备份**: 使用`mysqldump`进行全量备份的基本语法如下: ```bash mysqldump -u [username] -p[password] [database_name] > [backup_...

    shell脚本:单(多)个磁盘空间监控 日志备份

    2. **日志备份脚本**: 定期备份指定目录下的日志文件,并在备份完成后删除原始日志文件。 #### 磁盘空间监控脚本 - `disk_space_monitor.sh` 该脚本主要功能是监控单个指定目录的磁盘空间使用情况,并在磁盘空间...

    db2自动备份shell脚本

    本文将深入探讨如何使用shell脚本来实现DB2数据库的自动备份,以满足每天1:01进行数据备份的需求。 首先,我们需要了解shell脚本的基本概念。Shell脚本是一种基于Bash或其他Unix/Linux shell的编程语言,它允许用户...

    shell 脚本 实例 shell 脚本 实例

    1. **Shebang**:也称为“井号感叹号”,它是脚本的第一行,用于指定执行该脚本的Shell类型,例如`#!/bin/bash`。 2. **变量声明**:在脚本中,我们可以定义并使用变量来存储数据,如`name="John"`。 3. **控制结构*...

    shell脚本可配置备份oracle数据库.rar

    - **日志记录**:备份脚本应包含日志记录功能,以便跟踪备份状态、错误信息,方便后期排查问题。 4. **文件命名与管理**: - **备份文件命名**:为备份文件设定有意义的命名规则,如包含日期、时间、备份类型等...

    Shell脚本自动备份与删除apache日志

    为了解决这个问题,我们可以使用Shell脚本来实现日志的自动备份与删除,确保日志管理的有效性。 首先,我们需要了解Shell脚本的基础。Shell是一种命令解释器,允许用户通过命令行与操作系统交互。在Linux或Unix系统...

    数据库备份Shell脚本.zip

    在数据库备份场景中,Shell脚本可以编写成定期任务,通过cron job执行,实现定时自动备份。脚本通常包含变量定义、条件判断、循环结构以及调用外部命令等元素,以实现复杂操作的自动化。 3. **MySQL备份策略**: -...

    华为网络设备自动备份脚本

    标题 "华为网络设备自动...总的来说,这个华为网络设备自动备份脚本是一个综合运用了多种IT技术的实用工具,它整合了自动化运维理念,利用SSH和FTP实现了对华为路由器交换机的远程备份,提升了网络运维的效率和安全性。

    Bash Shell 脚本编程及系统大规模自动化运维教程合集.zip

    在IT行业中,Bash Shell脚本编程是一种极为重要的技能,特别是在系统运维领域。Bash(Bourne-Again SHell)是Unix/Linux操作系统中的默认shell,它提供了与系统交互、执行命令以及自动化任务的能力。本教程合集针对...

    Linux下清理数据库shell脚本

    在"Linux下清理数据库shell脚本"这个主题中,我们关注的是如何编写一个bash shell脚本来自动化数据库的清理和备份任务。 1. **清理数据库归档文件**:在数据库运行过程中,会产生大量的日志和归档文件,如Oracle...

    我的几个常用shell脚本

    例如,一个脚本可以遍历指定目录下的所有子目录,查找特定类型的文件: ```bash #!/bin/bash # 遍历当前目录及其子目录,查找.txt文件 find . -name "*.txt" -print ``` 标签“脚本”表明这些脚本可能是自定义任务...

    Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

    ### Linux 平台下 RMAN 全备与增量备份 Shell 脚本解析 #### 一、RMAN 备份基础知识 RMAN (Recovery Manager) 是 Oracle 数据库的一个非常强大的备份与恢复工具,适用于各种操作系统环境,包括 Linux。本文将重点...

    shell脚本可配置化备份文件夹及子文件.rar

    3. **文件和目录遍历**:`find`命令可以用来查找并处理指定目录下的所有文件和子目录。例如,`find /path/to/source -type f`将列出所有文件,`find /path/to/source -type d`则列出所有子目录。这些结果可以作为...

    bash shell

    - **日常自动化**:通过编写简单的Bash脚本,可以实现定期备份、自动清理无用文件、系统监控等功能。 - **软件构建**:在开源软件的构建过程中,Bash脚本常用于编译、打包和测试的自动化流程。 - **系统管理**:系统...

    鸟哥的BASH Shell编程手册

    **鸟哥的BASH Shell编程手册**是一本专为Linux用户设计的编程教程,主要涵盖了BASH Shell脚本的编写与应用。BASH(Bourne-Again SHell)是GNU项目下的一个Unix/Linux系统默认的命令解释器,它继承了Unix传统的Shells...

    运维 - Bash Shell 脚本编程及系统大规模自动化运维教程合集.zip

    在IT行业中,Bash Shell脚本编程是系统管理员和运维工程师不可或缺的技能,尤其是在进行大规模自动化运维时。这个“运维 - Bash Shell 脚本编程及系统大规模自动化运维教程合集.zip”包含了丰富的学习资源,旨在帮助...

    shell脚本可配置多线程备份mysql5.7.8以后数据库.rar

    编写shell脚本意味着创建一个包含一系列命令的文本文件,这些命令会在指定条件下执行,极大地提高了工作效率。在本例中,shell脚本用于控制多线程备份MySQL数据库的过程。 多线程备份的关键在于并发执行,这意味着...

    mysql自动实现备份脚本

    在这个场景下,Bash脚本用于自动化MySQL数据库的备份流程,包括连接数据库、创建备份、压缩备份文件和清理旧备份。 2. **MySQL自动备份的重要性** - 数据安全:定期备份能防止因硬件故障、软件错误或恶意攻击导致...

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    linux下101个shell脚本

    - 自动备份脚本:定时备份指定目录到另一位置。 - 网络监控脚本:检测网络连接并发送通知。 - 文件查找脚本:根据模式搜索文件并执行操作。 - 用户管理脚本:创建、修改或删除用户账户。 - 日志分析脚本:统计日志中...

Global site tag (gtag.js) - Google Analytics