find /data1/mysqldata/mysqlbackup/ -name gongwuyuan*.gz -mtime +30 -type f -exec rm {} \;
#!/bin/sh
/usr/local/services/mysql5.1.57/bin/mysqldump -uroot --opt --default-character-set=utf8 gongwuyuan | gzip > /data1/mysqldata/mysqlbackup/gongwuyuan.`date +%Y%m%d`.sql.gz
find /data1/mysqldata/mysqlbackup/ -name gongwuyuan*.gz -mtime +30 -type f -exec rm {} \;
语句写法:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
例1:
find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {}
\;
将/usr/local/backups目录下所有10天前带"."的文件删除
find:Linux的查找命令,用户查找指定条件的文件
/usr/local/backups:想要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":
希望
查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \; :固定写法,一对大括号+空格+\+;
若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。
例2:
1.#touch /usr/local/bin/clear
#chmod 777 clear
新建一个可执行文件clear
2.vi clear
编辑clear文件如下:
#!/bin/sh
find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {}
\;
ok,保存退出
3.#crontab -e
将clear文件加入到系统计划任务,到点自动执行
输入:
* 2 * * */usr/local/bin/clear
这里的设置是每天凌晨2点执行clear文件进行数据清理,可以研究一下cron,制定自己需要的计划任务
示例:
#!/bin/sh
find /usr/local/jboss-4.2.3.GA/server/default/log -mtime +6
-name "server.log.*" -exec rm -rf {} \;
exit
[root@web3 ~]# crontab -l
* 2 * * * sh /root/AutoDelLog.sh
这样每天晚上2点执行这个脚本,脚本是删除6天前的文件
find /etc/rc.d -name '*crond' -exec file {}
\;
查找/etc/rc.d目录下面所有以crond结束的文件,并使用file指令查看其属性,注意:exec和file间是一个空格,file和{}间是一个空格,{}和\;之间是一个空格,\;是一个整体。
分享到:
相关推荐
### Linux按时间批量删除文件(删除N天前文件) 在Linux系统中,经常需要清理一些不再需要的老文件来释放磁盘空间或者维护系统的整洁。本文将详细介绍如何利用`find`命令结合其他工具来批量删除指定目录下N天之前的...
本文将详细介绍如何利用Linux下的`find`命令配合计划任务(Cron Job)实现自动删除n天前的旧文件。 #### 一、基本概念 1. **`find`命令**: - `find`是Linux系统中非常强大的文件查找工具,它可以基于多种条件来...
前提,日志是以日期格式命名的,可以和日期比较大小,其他情况需自行调整 用户root用户创建定时任务 crontab -e 插入内容 00 01 * * * /bin/bash /home/ibps/sysscript/logbak.sh>> /home/ibps/sysscript/bklog.log...
通过以上步骤,你可以有效地在Linux环境中实现自动删除指定目录下指定时间前的文件。这个功能在日志管理、存储空间优化等方面非常有用,但务必遵循最佳实践,以确保系统的稳定性和数据的安全性。
# 清理旧的备份,保留最近N天的备份(这里假设N=7) find $BACKUP_DIR -type f -name 'mysql-*.sql.gz' -mtime +7 -exec rm {} \; # 如果你需要邮件通知,可以添加下面这行 # mail -s "MySQL Backup - $DATE" user@...
这个脚本会每天创建一个数据库的完整备份,文件名包含日期时间戳,同时删除一周前的旧备份。 七、备份恢复 1. **使用pg_restore**:将.sql文件恢复到新的数据库。 2. **使用pg_basebackup恢复**:直接替换现有数据...
通过以上步骤,我们可以构建一个高效且可靠的自动删除N时刻前日志文件的C++程序。这不仅可以帮助我们管理磁盘空间,还可以保持系统的整洁和高效运行。在实际项目中,根据具体需求,还可以进一步扩展功能,如添加日志...
- 清理旧备份:根据预设策略(如保留最近N天的备份)删除过期的备份文件。 4. **运行权限与自动化任务设置** - 脚本需赋予执行权限:使用`chmod +x mysql自动备份脚本.txt`命令赋予脚本执行权限。 - 设置定时...
本文将深入解析如何在Linux环境下实现MySQL数据库的定时备份、自动删除N天前的备份以及异地拷贝备份文件,确保数据的完整性和可用性。 #### 手动备份MySQL数据库 手动备份MySQL数据库是一种基础的数据保护措施,...
为了解决这个问题,我们可以使用Shell脚本来实现日志的自动备份与删除,确保日志管理的有效性。 首先,我们需要了解Shell脚本的基础。Shell是一种命令解释器,允许用户通过命令行与操作系统交互。在Linux或Unix系统...
总之,创建Linux服务器自动备份脚本涉及的主要步骤包括编写备份脚本、备份MySQL数据库、压缩备份文件、删除旧备份以及设置定时任务。正确设置这些步骤后,就能确保数据安全地、定期地得到备份。在日常运维中,定期...
下面我们将详细讨论如何创建一个Linux下的FTP自动备份shell脚本。 首先,了解Linux中FTP命令的基本选项是至关重要的。在给出的示例中,我们看到了以下几个关键参数: - `-i`: 这个选项用于禁用FTP的交互模式,意味...
本文主要讨论了在Linux环境下Oracle数据库的逻辑备份以及异地转储,涉及到的知识点包括Oracle的逻辑备份命令EXP和逻辑导入命令IMP,以及Linux下的自动化任务命令cron,还有备份文件的异地转储操作。 1. Oracle逻辑...
为了实现数据库的自动备份,可以创建一个脚本(如`testbackup`),包含初始化Oracle环境变量、清空备份目录、设置当前日期变量以及执行`export`命令的步骤。确保赋予脚本执行权限,例如`chmod +x testbackup`。 ...
这篇文档将详细介绍如何在Linux下设置定期执行脚本,包括`cron`的工作原理、`crontab`的使用以及一些实际的例子。 1. **`crond`服务**: `crond`是Linux中用于周期性执行任务的守护进程。在系统启动时,`crond`...
例如,以下脚本会删除指定目录下7天前被访问过的文件: ```bash #!/bin/bash find /path/to/clean -type f -atime +7 -exec rm -f {} \; # 删除7天前访问过的文件 ``` 这里,`-exec`选项后面跟的是`rm -f`命令,用于...
在Linux系统中,有时我们需要根据特定的需求来删除文件,例如删除最旧的几个文件而不是按照时间戳删除一定天数之前的文件。这篇文档将详细介绍如何在Linux环境下实现这一功能。 首先,我们要了解Linux中的基本文件...
### Linux 下 vi 编辑器基础命令详解 #### 标题与描述概述 本文主要针对 Linux 系统下的 vi 编辑器进行简单的命令介绍,旨在帮助初学者快速上手并掌握基本操作方法。 #### 标签:Linux 下 vi 简单命令介绍 #### ...
在Linux操作系统中,`rm`命令是用于删除文件或目录的基本工具。然而,由于`rm`命令一旦执行就无法撤销,对于重要的数据误删可能会带来严重后果。因此,有时我们可能需要替换`rm`命令,以增加额外的安全层或者提供...
* -A|--autobackup {y|n}:自动备份逻辑卷 * -a|--activate [a|e|l]{y|n}:激活逻辑卷 * --addtag Tag:添加标签到逻辑卷 * --alloc AllocationPolicy:设置逻辑卷的分配策略 * --cachemode CacheMode:设置逻辑卷的...