定期备份日志并发送至存储服务器指定路径脚本

根据需求编写一个日志定时备份并发送至存储服务器的脚本

定期把三天前的日志文件备份,打包发送至日志备份服务器指定目录(修改对应路径拿走即用)

vim qingli.sh

#!/bin/bash

#定义星期几

week=$(date |awk 'NR==1{print $4}')

num=${week}

#日志源目录

log="/data/linux/logs"

#定义备份目录

bakup="/opt/logbak"

#定义时间变量

DATE=$(date)

#备份操作记录日志

BAKLOG="/data/bakup.log"

#case判断语法

case "$num" in

"星期一")

find ${log} -type f -mtime +3 -exec mv {} ${bakup} \;

echo ""$DATE"备份4天前日志" >> $BAKLOG

;;

"星期二")

echo ""$DATE"未做备份操作" >> $BAKLOG

;;

"星期三")

find ${log} -type f -mtime +3 -exec mv {} ${bakup} \;

echo ""$DATE"备份4天前日志" >> $BAKLOG

;;

"星期四")

echo ""$DATE"未做备份操作" >> $BAKLOG

;;

"星期五")

find ${log} -type f -mtime +3 -exec mv {} ${bakup} \;

echo ""$DATE"备份4天前日志" >> $BAKLOG

;;

"星期六")

echo ""$DATE"未做备份操作" >> $BAKLOG

;;

"星期日")

find ${log} -type f -mtime +3 -exec mv {} ${bakup} \;

echo ""$DATE"备份四天前日志" >> $BAKLOG

;;

esac

#定义备份日志包名称以日期命名

log_time=login-①`date +"%Y-%m-%d".tar`

#此判断是为了发送备份文件到指定服务器以及清理备份文件防止占用过多磁盘

#

if [ $num = "星期日" ];then

cd $bakup && tar czf $log_time * && scp $log_time root@192.168.197.142:/home > /dev/null 2>&1 && rm -rf $bakup/*

echo ""$DATE"将备份日志发送至oss服务器" >> $BAKLOG

else

echo ""$DATE"今天未做发送操作" >> $BAKLOG

fi

编辑完成后给脚本提权

chmod 777 qingli.sh

然后加入计划任务

crontab -e

01 0 * * * bash /data/qingli.sh

看下执行效果

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: T-SQL完整备份数据库语句: ``` BACKUP DATABASE [数据库名] TO DISK = N'备份文件存储路径' WITH COMPRESSION, INIT ``` T-SQL差异备份数据库语句: ``` BACKUP DATABASE [数据库名] TO DISK = N'备份文件存储路径' WITH DIFFERENTIAL, COMPRESSION, INIT ``` 如果要将备份存储存储过程中,可以使用以下语句: ``` CREATE PROCEDURE [dbo].[备份存储过程名] AS BEGIN SET NOCOUNT ON; DECLARE @dbname NVARCHAR(100) = N'数据库名', @filename NVARCHAR(100) = N'备份文件存储路径' DECLARE @sql NVARCHAR(1000) SET @sql = 'BACKUP DATABASE ' + @dbname + ' TO DISK = ''' + @filename + ''' WITH COMPRESSION, INIT' EXEC (@sql) END ``` 您可以根据需要修改上面的语句来实现完整备份或差异备份。 ### 回答2: T-SQL是一种用于管理和操作Microsoft SQL Server数据库的语言。在T-SQL中,可以通过完整备份和差异备份备份数据库,并通过压缩备份存储过程来减少备份文件的存储空间。 完整备份是指将整个数据库及其所有数据和对象备份为一个完整的备份文件。可以使用T-SQL的BACKUP DATABASE语句进行完整备份。例如,以下是一个完整备份数据库的T-SQL语句示例: ``` BACKUP DATABASE [数据库名] TO DISK = N'备份文件路径' WITH COMPRESSION; ``` 其中,[数据库名]为要备份的数据库名称,[备份文件路径]为备份文件的存储路径。WITH COMPRESSION选项可以在备份时使用压缩来减少备份文件的大小。 差异备份是指备份数据库的更改部分,即与上一次完整备份之后所做的更改。可以使用T-SQL的BACKUP DATABASE语句进行差异备份。以下是一个差异备份数据库的T-SQL语句示例: ``` BACKUP DATABASE [数据库名] TO DISK = N'备份文件路径' WITH DIFFERENTIAL, COMPRESSION; ``` 其中,DIFFERENTIAL选项表示执行差异备份,COMPRESSION选项表示使用压缩进行备份。 压缩备份存储过程是一种通过压缩备份文件来减少存储空间的方法。可以创建一个存储过程来自动执行备份并使用压缩选项。以下是一个压缩备份存储过程的T-SQL示例: ``` CREATE PROCEDURE [存储过程名] AS BEGIN BACKUP DATABASE [数据库名] TO DISK = N'备份文件路径' WITH COMPRESSION; END; ``` 在这个存储过程中,可以指定备份的数据库名称和备份文件的路径。每次调用这个存储过程时,它将自动执行完整备份并压缩备份文件。 使用T-SQL进行完整备份和差异备份,以及通过压缩备份存储过程进行备份文件的压缩,可以有效地管理数据库备份并减少备份文件的存储空间。 ### 回答3: T-SQL提供了完整备份和差异备份数据库的功能,同时还可以使用备份存储过程来压缩备份文件。 完整备份是指将整个数据库的所有数据和对象进行备份,包括数据文件、日志文件、索引和存储过程等。完整备份可以通过使用T-SQL语句中的BACKUP DATABASE命令来实现。例如,使用以下语句可以进行完整备份: BACKUP DATABASE [数据库名] TO DISK = '备份文件路径' WITH COMPRESSION; 差异备份是在完整备份的基础上,只备份自上次完整备份以来发生了更改的部分数据。差异备份可以使用T-SQL语句中的BACKUP DATABASE命令来实现。例如,使用以下语句可以进行差异备份: BACKUP DATABASE [数据库名] TO DISK = '备份文件路径' WITH DIFFERENTIAL, COMPRESSION; 备份存储过程可以用来压缩备份文件的大小,从而减少备份文件的存储空间。备份存储过程使用T-SQL语句中的BACKUP DATABASE命令和WITH COMPRESSION选项来进行压缩。例如,使用以下语句可以创建一个备份存储过程: CREATE PROCEDURE [存储过程名] AS BACKUP DATABASE [数据库名] TO DISK = '备份文件路径' WITH COMPRESSION; 使用备份存储过程时,只需要调用该存储过程即可进行备份,并且备份文件会自动进行压缩。例如,使用以下语句可以调用备份存储过程进行备份: EXEC [存储过程名]; 通过使用T-SQL的完整备份和差异备份功能,并结合备份存储过程进行压缩,我们可以灵活地备份和管理数据库,提高备份效率和节约存储空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值