find /data/oracle/flash_recovery_area/ORCL/archivelog/ -mtime +3 -name "201*" -exec rm -rf {} ;
4、添加计划任务(系统调度任务和用户调度任务添加其一)
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下crontab文件,这个就是系统任务调度的配置文件。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
1)、系统任务调度
编辑系统任务计划
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
SHELL 变量指定了系统要使用哪个shell,这里是bash
PATH 变量指定了系统执行命令的路径
MAILTO 变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户
For details see man 4 crontabs
Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* user-name command to be executed
(*):代表所有 (,):多个值间隔 (-):范围连接符
(/)指定时间间隔频率,例如(*/10)如果在minute字段,表示每十分钟执行一次
以管理员身份每天凌晨05:00,执行相应目录下的脚本任务
0 5 * root /backup/oracledata/oracle_archivelog_clean.sh
2)、用户任务调度
编辑用户任务计划
<div class="jb51code">
<pre class="brush:sql;">
[root@dbsrc ~]# crontab -e
以管理员身份每天凌晨05:00,执行相应目录下的脚本
0 5 * /backup/oracledata/oracle_archivelog_clean.sh
无需再添加执行用户,否则任务计划无法执行,将有以下报错
From root@dbsrc.localdomain Tue Aug 7 05:00:01 2018
Return-Path: root@dbsrc.localdomain
X-Original-To: root
Delivered-To: root@dbsrc.localdomain
Received: by dbsrc.localdomain (Postfix,from userid 0)
id 9662C2827; Tue,7 Aug 2018 05:00:01 +0800 (CST)
From: "(Cron Daemon)" root@dbsrc.localdomain
To: root@dbsrc.localdomain
Subject: Cron root@dbsrc root /backup/oracledata/oracle_archivelog_clean.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=6910>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: 20180806210001.9662C2827@dbsrc.localdomain
Date: Tue,7 Aug 2018 05:00:01 +0800 (CST)
/bin/sh: root: command not found
查看用户计划
0 5
* /backup/oracledata/oracle_archivelog_clean.sh
5、查看cron服务是否在设定时间调用
Aug 7 05:00:01 dbsrc CROND[12655]: (root) CMD (root /backup/oracledata/oracle_archivelog_clean.sh)
Aug 7 05:01:01 dbsrc CROND[12795]: (root) CMD (run-parts /etc/cron.hourly)
Aug 7 05:01:01 dbsrc run-parts(/etc/cron.hourly)[12795]: starting 0anacron
Aug 7 05:01:01 dbsrc run-parts(/etc/cron.hourly)[12804]: finished 0anacron
6、查看shell脚本是否报错(cat /var/spool/mail/用户名)
X-Original-To: root
Delivered-To: root@dbsrc.localdomain
Received: by dbsrc.localdomain (Postfix,7 Aug 2018 05:00:01 +0800 (CST)
From: "(Cron Daemon)"
To: root@dbsrc.localdomain
Subject: Cron /backup/oracledata/oracle_archivelog_clean.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
Message-Id: <20180806210001.9662C2827@dbsrc.localdomain>
Date: Tue,7 Aug 2018 05:00:01 +0800 (CST)
find: ‘/data/oracle/flash_recovery_area/ORCL/archivelog/2018_08_04': No such file or directory
7、重启crond服务
或者
注释
crontab [-u user] [ -e | -l | -r ]
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
提示You have new mail in /var/spool/mail/root解决
[root@dbsrc ~]# echo "unset MAILCHECK">> /etc/profile;
[root@dbsrc ~]# source /etc/profile
方案二:修改归档目录位置
一、创建新的归档文件存放目录
二、设置目录拥有者和权限
三、禁止往闪回恢复区放归档日志
alter system set db_recovery_file_dest='';
四、设置归档日志存放目录
alter system set log_archive_dest='/data/oracle/archive_log';
(编辑:4S站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!