linux自动备份与删除,Linux与Windows中定时备份与定时删除某天前的文件linux操作系统 -电脑资料...

以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给大家介绍几个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天前),Linux与Windows中定时备份与定时删除某天前的文件linux操作系统》(https://www.unjs.com)。

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 设置成可执行权限,然后放到定时任务中去执行即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值