linux下面自动打包备份并且删除5 天前的文件

项目要求

1.自动打包某一个文件目录,

2.自动将打包文件放置至一个指定目录

3.自动清除5天前的文件;

实现:

1.使用crontab 进行定时备份

2.使用tar压缩

3.使用shell算出日期 ,remove 旧文件

4. 在/usr/sbin目录中加入备份文件:baksvn

#!/bin/sh

rq=`date +%Y%m%d`

rm -f /home/svnbak/`date -d ‘-5 days‘ +%Y%m%d`.tar.gz

tar zcvf /home/svnbak/$rq.tar.gz /var/svn/document

同理可以,实现mysql的备份。

只要在压缩前加上

mysqldump -uroot -p XXXXXX > /home/XXXXXXx_bak_20150108.dat

如下所示:

#!/bin/sh

rq=`date +%Y%m%d`

mysqldump -uroot -p XXXXXX > /home/XXXXXXx_bak_$rq.dat

rm -f /home/svnbak/`date -d ‘-5 days‘ +%Y%m%d`.tar.gz

tar zcvf /home/svnbak/$rq.tar.gz /var/svn/document

时间: 2024-12-22 11:16:13

linux下面自动打包备份并且删除5 天前的文件的相关文章

linux中find命令配合rm删除某天前的文件

语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带"."的文件删除 find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; find:linux的查找命令,用户查找指定条件的文件 /usr/local/backups:想要进行清理的任意目录 -

postgreSQL备份脚本删除3天前备份同时压缩昨天备份

脚本功能: 系统环境:SUSE Linux Server 11.3 X64 1.删除3天前压缩文件(.bak.tar.gz) 2.备份数据库(未压缩文件.bak) 3.压缩昨天数据库备份文件(.bak.tar.gz),删除昨天数据库备份未压缩文件(.bak) #!/bin/bash export PATH=$PATH:/usr/local/pgsql/bin DATE=`date +%Y_%m_%d_%H` YESDAY=`date -d "yesterday" +%Y_%m_%d_%

用批处理文件自动备份文件及文件夹,并自动删除n天前的文件

---恢复内容开始--- 下是备份的批处理,添加到"计划任务"中,设定时间自动运行 复制代码 代码如下:@echo off rem 格式化日期 rem date出来的日期是"2006-02-22 星期三",不能直接拿来使用,所以应该先格式化一下 rem 变成我们想要的.date:~0,4的意思是从0开始截取4个字符 set d=%date:~0,4%%date:~5,2%%date:~8,2% rem 设定压缩程序路径,这里用的是WINRAR的rar.exe进行打包

Linux/Unix 怎样找出并删除某一时间点的文件(转)

在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些日志和备份文件是不需要长时间保留的,一般保留7天内的文件即可,那么我们怎么找出并删除7天前产生的日志文件和备份文件并将其删除呢? Linux/Unix提供了find 操作系统命令,使用该命令可以实现我们的目标. $man find 可以查看find命令的使用方法. 1. 找出 n 天前的文件 $find /temp/ -type f -mtime +n

Windows自动删除n天前的文件的批处理脚本

数据库每天备份文件,然而只需要保留七天的备份即可,编写一个批处理脚本文件自动删除七天前的文件并设置定时任务 自动删除文件需要用到forfiles命令 forfiles参数:/p 指定的路径/s 包括子目录/m 查找的文件名掩码/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前   /c 运行的命令行   表示为每个文件执行的命令.命令字符串应该用双引号括起来. 默认命令是 "cmd /c echo @file".下列变量 可以用在命令字符串中: @file    -

Linux/Unix 怎样找出并删除某一时间点的文件

Linux/Unix 怎样找出并删除某一时间点的文件 在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些日志和备份文件是不需要长时间保留的,一般保留7天内的文件即可,那么我们怎么找出并删除7天前产生的日志文件和备份文件并将其删除呢? Linux/Unix提供了find 操作系统命令,使用该命令可以实现我们的目标.$man find 可以查看find命令的使用方法.1. 找出 n 天前的文件 $find

linux下自动ftp到服务器对比拷贝指定目录下文件

#!/bin/bash process=8 PWD=`pwd` DAT=`date` ftpip="192.168.1.1" user="ftp_username" password="ftp_password" local_dir="/home/" getlist() { ftp -n $ftpip <<EOF |awk '{print $9}'|sed '/^$/d' >$PWD/list user $u

oracle定时备份与删除N天前备份文件

oracle定时备份数据库,以及删除7天前备份的数据. 1.创建存放备份目录: mkdir /home/oracle/data_backup mkdir /home/oracle/log_backup 2.编辑脚本oracle_backup.sh,内容如下: #!/bin/sh export ORACLE_BASE=/home/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORACLE_SID=orclexport

windows2003下自动删除n天前的文件

使用windows2003下的内置命令forfiles配合计划任务可以实现自动删除n天前的文件. windows2003中设定自动执行的计划任务很简单. forfiles命令用法: Forfiles 从文件夹或树中选择要进行批处理的文件. 语法 forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]] 参数 /p Path 指定 Path,表明要从哪里开始搜索.默认的文件夹是当前工