shell脚本实现自动压缩一天前的日志文件并传到ftp服务器上
2012-06-08 11:26
1341 查看
生产环境下脚本自动备份脚本是企业中重要工具。备份数据和日志等文件是公司的重要资产,所以有句话叫“备份是救命的稻草”(——出自抚琴煮酒《构建高可用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:
最后扔到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
经测试追踪发现,已经稳定执行。
本文出自 “我就是我非此非彼” 博客,请务必保留此出处http://wukui127.blog.51cto.com/2866802/892532
此脚本的作用是将制定目录下的日志文件备份,只备份当天和一天前的日志(日志命名格式精确到小时),并以当天的年月日为格式进行压缩,然后传送到指定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
经测试追踪发现,已经稳定执行。
本文出自 “我就是我非此非彼” 博客,请务必保留此出处http://wukui127.blog.51cto.com/2866802/892532
相关文章推荐
- Shell脚本实现上传zip压缩文件到FTP服务器
- 实现自动上传文件到ftp服务器的BAT脚本分享
- 实现自动上传文件到ftp服务器的BAT脚本分享
- shell脚本实现上传日志到ftp服务器
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中(转)
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
- linux使用shell脚本实现自动登录scp传输文件到其他服务器
- Windows下通过bat脚本实现自动上传文件到ftp服务器
- shell脚本实现FTP自动上传文件
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
- linux自动备份文件 并上传到远程服务器 脚本实现
- linux系统shell脚本实现 恶意扫描服务器密码 自动屏蔽
- shell将脚本输出结果记录到日志文件的实现
- shell脚本实现本地文件与服务器文件同步
- Linux使用Shell脚本实现ftp的自动上传下载
- Linux使用Shell脚本实现ftp的自动上传下载
- 【转】shell脚本实现多台服务器自动巡检--可参考学习
- 用vbs实现的简单的服务器文件备份办法压缩文件名自动按日期命名
- Linux使用Shell脚本实现ftp的自动上传下载
- 【shell脚本】ftp自动上传mysql备份文件