Linux与Windows中定时备份与定时删除某天前的文件

无论是在windows下还是linux下,很多的日志文件如果不定时删除会充满硬盘,所以可以分别写个脚本定时处理一下。

Windows下bat文件内容如下;

 代码如下 复制代码

@echo off
forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"
forfiles -p "D:\servers\mysql\logs" -s -m *.log -d -15 -c "cmd /c del @path"

备份

bat文件内容为:

 代码如下 复制代码

@echo
copy D:work*.db E:bake1
exit

可以将上面的目录换成指定的目录,*.log可以筛选一下文件格式,-d后面的参数为负数表示多少天之前的,正数是多少天之后的。保存成bat文件,然后在Windows计划任务里面设置每天执行的时间就可以了。

Linux下面的shell文件内容如下:

 代码如下 复制代码

 #!/bin/bash
 # 删除30天之前的文件
 find /var/usr/nginx/logs/ -mtime +30 -type f -name \*.gz | xargs rm -f

1. 定期备份网站代码和文件

脚本web.sh

 代码如下 复制代码
#!/bin/bash
cd /home/wwwroot
date=`date -I`;
# backup website
/bin/tar -cjf ./backup/website_$date.tar.bz2 website
# romove old data
find ./backup -type f -mtime +7 -exec rm -f {}

脚本原理:先进入备份目录;然后定义日期格式;按日器执行备份;删除旧的备份数据(7天前)。

2. 定期备份数据库

脚本db.sh

 代码如下 复制代码
#!/bin/bash
cd /home/wwwroot/backup
date=`date -I`;
/usr/bin/mysqldump -u root --password=123456 website > website_$date.sql
/bin/gzip -9 website_$date.sql

上述脚本中-u后接数据库用户名, –password后接数据库密码,紧接着是数据库名,>后面是备份的目录。
gzip -9 是用最高的压缩率把导出的数据库进行压缩。

同样的将上面的目录换成自己指定的目录,后面的\*.gz表示文件扩展名,-mtime后面的参数与上面Windows的相反,正数表示多少天之前的文件。将上面的内容保存成.sh并使用chmod +x 设置成可执行权限,然后放到定时任务中去执行即可。

时间: 2024-09-24 17:11:32

Linux与Windows中定时备份与定时删除某天前的文件的相关文章

Windows和Linux下定时删除某天前的文件的脚本_DOS/BAT

以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给(www.jb51.net)大家介绍几个Linux与Windows中定时删除某天前的文件方法,这个与备份有点区别,但大同小义了. Windows下bat文件内容如下: 复制代码 代码如下: @echo off forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"

Linux和windows中的换行符差异问题

  Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点是由于Linux和windows中的换行符差异问题造成的. 首先来看回车符号和换行符号产生背景 关于"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别. 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用

【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件

项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备份数据库的功能! 下面就先以每天自动备份作为例子,将整个流程展示出来: 1.首先一点,你现在一个固定的地方,新建一个bat文件,用于系统的任务计划进程去执行bat中定义的相关操作! 因为是备份mysql数据库,所以我将bat文件新建在mysql的安装目录的bin目录下: 新建back_db.bat文

定时备份mysql, 定时切割nginx access log的方法_Mysql

定时备份mysql 放入 /etc/cron.hourly/ 复制代码 代码如下: #!/bin/bash DUMP=/usr/local/webserver/mysql/bin/mysqldump OUT_DIR=/data1/backup/ DB_NAME=数据库名 DB_USER=数据库用户 DB_PASS=数据库密码 #How much days backup most DAYS=3 #12 hours ago MINS=720 #Core of script cd $OUT_DIR D

使用vbs脚本定时删除N天前的文件_vbs

脚本放在定时任务里代替服务定时执行一些操作比较方便,下面是实现删除文件夹下N天前创建的文件的vbs脚本,在配置文件 DelFolderList.txt 中配置要删除的文件路径,ONLY-DEL-FILES 下的路径 是只删除其下的文件,不删除其内的子目录的文件.DEL-FOLDER-FILES下的路径 是删除其内文件及其子目录内的文件,子目录为空时删除目录,删除的文件list 放在log文件夹内.例配置文件DelFolder.txt 内容如下: ONLY-DEL-FILESE:\Code\tes

linux的一个find命令配合rm删除某天前的文件方法_Linux

语句写法: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:想要进行清理的任意目录 -

Linux和Windows中tomcat修改内存大小的方法_JSP编程

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4.可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置 实例,以下给出1G内存环境下java jvm 的参数设置参考: 复制代码 代码如下: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M-XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "JAVA_O

linux与windows中xcache安装使用教程

XCache是另外一种在PHP中使用的Opcode缓存工具.像APC一样,XCache在共享内存中存储Opcode,并使用缓存的Opcode来响应对PHP脚步的请求. 在Windows系统上安装XCache 1.在http://xcache.lighttpd.net/pub/ReleaseArchive 根据你的PHP版本,下载对应的软件包. 2.解压后把php_xcache.dll复制到ext目录中 在Liunx系统上安装XCache  代码如下 复制代码 wget http://xcache

mysql自动定时备份数据库的最佳方法(windows服务器)_Mysql

网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自动有备份呢? 教大家一个最简单的方法. 这个方法是用bat批处理来完成的. 假想环境:MySQL 安装位置:D:\Program Files\MySQL\MySQL Server 5.0\data 如图:   数据库名称为:952game数据库备份目的地:d:\db_bak\ (你想把数据库备份到哪