shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上
shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上
naonao_127关注2人评论19401人阅读2012-06-08 11:26:16
生产环境下脚本自动备份脚本是企业中重要工具。备份数据和日志等文件是公司的重要资产,所以有句话叫“备份是救命的稻草”(——出自抚琴煮酒《构建高可用Linux服务器》一书)。
此脚本的作用是将制定目录下的日志文件备份,只备份当天和一天前的日志(日志命名格式精确到小时),并以当天的年月日为格式进行压缩,然后传送到指定ftp服务器。
实例:# ll /home/lislog/
-rw-r--r-- 1 itadmin dba 8079474 06-07 00:59 lis42.log.2012-06-07-00
-rw-r--r-- 1 itadmin dba 50354570 06-07 01:59 lis42.log.2012-06-07-01
-rw-r--r-- 1 itadmin dba 12084741 06-07 02:59 lis42.log.2012-06-07-02
……
-rw-r--r-- 1 itadmin dba 14110627 06-08 07:59 lis42.log.2012-06-08-07
-rw-r--r-- 1 itadmin dba 112698103 06-08 08:59 lis42.log.2012-06-08-08
-rw-r--r-- 1 itadmin dba 372195176 06-08 09:59 lis42.log.2012-06-08-09
将该路径下当天及一天前文件进行压缩,以当天日期命名后传送到ftp服务器上。
脚本内容backuplislog.sh:
- #!/bin/bash
- FTPHOST="1.1.1.7"
- USERNAME="lislog"
- PASSWORD="lislog"
- #取前一天年月日
- y=`date --date='1 days ago' "+%Y"`
- m=`date --date='1 days ago' "+%m"`
- d=`date --date='1 days ago' "+%d"`
- #取当天年月日
- yt=`date "+%Y"`
- mt=`date "+%m"`
- dt=`date "+%d"`
- #以当天日期为压缩文件名
- y1=`date "+%Y"`
- m1=`date "+%m"`
- d1=`date "+%d"`
- #文件名信息
- SRCFILE="lis42.log.$y-$m-$d* lis42.log.$yt-$mt-$dt* lis42.log"
- DESFILE="lis42_$y1-$m1-$d1.zip"
- #需要备份文件的目录
- FILEPATH="/home/lislog"
- # FTP Server备份目录
- # BACKUPDIR="lislog"
- #压缩处理
- cd $FILEPATH
- zip $DESFILE $SRCFILE
- #登入FTP Server并传送档案
- ftp -v -n $FTPHOST << END
- user $USERNAME $PASSWORD
- binary
- put $DESFILE
- bye
- END
- #删除临时压缩文件
- cd $FILEPATH
- rm -f $DESFILE
- #end
最后扔到cron里就ok了,然后用的时候去拿就可以了
# crontab -l
30 6 * * * /home/itadmin/backuplislog.sh
结果查看:
#ll /home/lislog/
-rw-r--r-- 1 itadmin dba 240100295 06-08 06:31 lis42_2012-06-08.zip
经测试追踪发现,已经稳定执行。
shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上的更多相关文章
- bat脚本:自动压缩n天前的文件【转载】
原文如下: bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客http://blog.chinaunix.net/uid-24946452-id-1651762.html 磁盘 ...
- linux自动删除30天前的日志文件
linux应用总结: 自动删除n天前的日志文件: . 使用的命令格式如下: find 对应目录 -mtime +天数 -name "文件名" -exec -rm -rf -name ...
- Linux记录-自动删除几天前的日志文件
#!/bin/sh DDIR=/usr/local/appserver/tomcat_risk/logs/risk_manage find $DDIR -mtime +30 -name "* ...
- 自动删除n天前的日志(此处用于业务删除xml文件)
Linux应用总结:自动删除n天前的日志 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快 ...
- Linux计划任务,自动删除n天前的旧文件
Linux计划任务,自动删除n天前的旧文件 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,但需求总是多方面的嘛-我就觉得让系统定时 ...
- Windows 定时删除指定路径下N天前的日志文件
Windows 定时删除指定路径下N天前的日志文件 Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 @echo off set SrcDir=E:\WORK\Git s ...
- shell脚本每天自动备份mysql数据库
一.mysql提供了一个mysqldump的工具可以方便的导出导入数据库信息: 二.使用命令行shell测试执行mysqldump,理解必备的参数,查看生成的sql备份文件是否符合需求: /usr/b ...
- shell脚本实现自动保留最近n次备份记录
项目中出现的问题 某天上午服务器出现卡顿特别严重,页面加载速度奇慢,并且某些页面刷新出现404的问题,就连服务器的tab命令的自动提示都出现了问题,楼主费了九牛二虎之力,根据服务器排查发现,服务器数据 ...
- Centos7下crontab+shell脚本定期自动删除文件
问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任 ...
随机推荐
- PHP把图片存入数据库(非路径)【待测试】
大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,该代码能够把代码直接存入数据库,删除时一并删除.请注意:这样的话数据库大小 ...
- bug的前世今生
项目上发现的产品bug,若本地有问题,那就是漏测 1.提到产品bug系统 2.需要追踪,要么是漏测,要么是改出来的问题,漏测的需要补充到测试点里 项目上发现的产品bug,若本地没问题,那就是项目上的产 ...
- ASP.NET Core ActionFilter引发的一个EF异常
最近在使用ASP.NET Core的时候出现了一个奇怪的问题.在一个Controller上使用了一个ActionFilter之后经常出现EF报错. InvalidOperationException: ...
- css 超过标签定义的宽度后显示----
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CF1082B Vova and Trophies 题解
CF1082B Vova and Trophies 题解 瞎搞题,推荐的,一看是道水题,就随手A了-- 题目描述 Vova has won \(n\)trophies in different com ...
- 读源码 - stagesepx
目录 背景 一.概述 stagesepx 二.源码中优雅的用法 优雅的赋值/返回 递归方法新建多级目录 更简洁的日志输出 格式化输出的另一种姿势 基于生成器读取多个文件 sorted进阶 入参类型限制 ...
- 如何在win10下使用Ubuntu中的crontab自动执行任务
win10下如何下载ubuntu 1.打开Microsoft Store,搜索ubuntu,选择其一(我选了第一个),点击获取,耐心等待安装即可: 2.安装完成可在开始栏找到: 使用cront ...
- babel-loader配置
1.npm i @babel/core.@babel/preset-env.@babel/runtime.@babel/plugin-transform-runtime.@babel/plugin-p ...
- Requests库发送post请求,传入接口参数后报JSON parse error
报错信息: {"timestamp":"2020-01-08T14:42:40.894+0000","status":400,"e ...
- 说两个我在工作中有价值的bug
看了虫师在公众号上写的一边文章,叫做<面试官问,说一个你在工作非常有价值的bug>.看完虫师举的列子后,我也开始想之前测试的bug,想到之后,觉得有必要记录一下. First,在测试新闻动 ...