linux 定期备份脚本--优化终结

一,脚本

#!/bin/sh

DIR=/data/ascenlink/logs

#T=`find $DRI/* -type f -mtime +365`

#rm -rf $T

I=$(df -h |grep -v data2 |awk ‘/data/ {gsub ("‘%‘","");print $4}‘)

if [ $I -gt 95 ];then

mv $DIR/*.tar.gz /data2/backuplog

echo "No enough Free Disk Space for backup" >> /home/ascenlink/backuperror.log

fi

while true

CPU=$(vmstat 1 1 |awk ‘{print $13 }‘ |sed -n 3p)

MEM=$(free -m |awk ‘/Mem/ { print $3}‘)

do

if [[ $CPU -gt 90 ]] || [[ $MEM -gt 8000 ]];then

sleep 5m

else

break

fi

done

#DATE=`date +%Y-%m-%d%H%M`

cd /data/ascenlink/logs/

#LOG=`find ./ -type f -mtime -31 -print |xargs`

#wait

#tar -zcvf /data/ascenlink/logs/ascenlink.$DATE.tar.gz $LOG >/dev/null 2>&1

A=`date -d "-1 months" |awk ‘{print $2}‘ |sed -n 1p`

DATE=`date -d "-1 months" +%Y-%m-%d%H%M`

tar -zcvf /home/ascenlink/ascenlink.$DATE.tar.gz $(ls -l |grep $A |awk ‘{ print $9 }‘) >/dev/null 2>&1

二,定期执行任务时间

执行时间为每月一号,1点1分对上一个月的日志文件进行打包

cat /etc/crontab

1 1 1 */1 * ascenlink /bin/sh /home/ascenlink/logbackup.sh >/dev/null 2 >&1

2010-02-21

时间: 2024-12-28 21:20:11

linux 定期备份脚本--优化终结的相关文章

Linux自动备份脚本

今天网上一个朋友问了我一个shell的题目,让我帮他做下.下面是题目以及解题思路. 题目: 写作一个备份/etc目录的脚本,要求:将/etc目录下的所有文件cp到/var/backups目录下的以当天的日期命名的目录中例如(/var/backups/etc.20140809).并且判断前一天的目录中的文件与当天的区别,如果无区别,则删除前一天的备份目录. 解答: [[email protected] scripts]# cat auto_bak.sh  #!/bin/bash # # This 

Linux自动备份脚本--解析

      由于上次做项目的时候,客户要求需要对系统状态做自动备份,当时觉得自己写得脚本实在是不够上档次,就开始在网上搜索各种比较好的脚本,现在找到了一个还挺不错的脚本,与大家一起来解析分享一下.其实我第一遍看的时候中间有一小部分没有弄懂,觉得里面的语法真的是用的恰到好处,不过还是稍稍修改了一点. #说明使用的是bash语法来写脚本 #!/bin/bash #设置日志文件,前提建好了/backup/log目录 LogFile=/backup/log/`date +"%Y-%m"`.lo

linux 自动备份脚本

首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /root/mysqlautobak 输入: filename=` date +%Y%m%d ` mysqldump --all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql 保存退出! 让它可以执行 #chomd

nginx日记切割脚本,mysql定期备份脚本

大部分的日记切割和备份机制的都是一样:下面是nginx的日记切割脚本 #!/bin/bash logpath = '/home/nginx/log' nglogs = '/opt/nginx/logs mkdir -p $logpath/$(date +%Y)/$(date +%m) mv  $nglogs/access.log  $logpath/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log mv  $nglogs/error.log  

LINUX 自动备份脚本文件

首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /root/mysqlautobak 输入: filename=` date +%Y%m%d ` mysqldump --all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql 保存退出! 让它可以执行 #chomd

利用Python编写linux自动备份脚本

题目: 周末的时候帮朋友写了一个备份需求的脚本,现在整理一下,分享出来使用Python语言的Fabric模块,这里就不扫盲了,运维必用的Python模块: 大概要求: 公司需求,每天凌晨2点备份数据(数据量不大,每天全备),拷贝至备份服务器,通过md5对比备份文件(本机备份文件和备份服务器文件对比),并将备份情况通知运维组同学. 备份思路: (1.每天凌晨2点在服务器本地使用tar打包备份文件: (2.备份成功以后,推送至备份服务器: (3.校验本地备份文件和备份服务器文件的完整性和一致性: (

Linux服务器企业集群架构部署搭建(二)----linux系统基础脚本优化、内核优化

第四章 linux系统内核优化相关 参考文章: linux内核TCP相关参数解释 http://os.chinaunix.net/a2008/0918/985/000000985483.shtml linux内核参数优化 http://blog.chinaunix.net/uid-29081804-id-3830203.html linux内核调整和内核参数详解 http://blog.csdn.net/cnbird2008/article/details/4419354 linux运维老男孩培

MySQL 定期备份脚本

#!/bin/bash  #This is a ShellScript. For Auto DB Backup  #Powered by [email protected]  #2014/2/25 #Setting  #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 #默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy  #默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz  DBName=(

linux数据库备份脚本

数据库备份1.创建个备份存储目录mkdir /root/backup/2.以下内容写到dbbackup.sh #!/bin/bashcd /root/backup/mysqldump -uroot -pmima123 datatest >/root/backup/datatest`date +%Y-%m-%d`.sqlmysqldump -uroot -pmima123 datatest1 >/root/backup/datatest1`date +%Y-%m-%d`.sql chmod +x