目录
1.清理Oracle归档日志脚本
1.1创建脚本
mkdir /home/del_arch touch /home/del_arch/del_arch.sh |
1.2编辑脚本
vim /home/del_arch/del_arch.sh |
#! /bin/bash source /etc/profile #记录归档删除的日志 exec >> /home/del_arch/del_arch`date +%F-%H`.log echo "------`date`----------" rman target / <<EOF #检查日志 crosscheck archivelog all; #删除一天前日志 delete noprompt force archivelog all completed before 'sysdate'; exit; EOF echo "------FINISHED----------" |
注:
- source /etc/profile 为必填项。若只用命令测试没有该选项能够调用成功,作为定时任务时,需要重新加载环境变量。若Oracle环境变量在.bash_profile内,则需要修改为source ~/.bash_profile
- exec >> /home/del_arch/del_arch`date +%F-%H`.log 已经记录日志,定义定时任务时,无需再次指定日志文件。
- rman target / <<EOF 使用的是Oracle用户的命令,所以如果想直接运行测试效果,应在Oracle用户下运行并测试脚本。
1.3授权
chmod 777 -R /home/del_arch/ |
2.Linux定时任务
2.1切换用户
su - oracle |
2.2查看定时任务列表
crontab -l |
注:
每个用户都有自己的定时任务,因rman为Oracle用户的命令,则应在Oracle用户下创建定时任务
2.3创建定时任务
crontab -e |
0 0 * * * /home/del_arch/del_arch.sh |
注:
- 编辑过程类似vim文件
- 意思为每天凌晨12点执行该脚本
- 例如:30 10 * * * 每天十点半执行,第一个数字为分钟,第二个数字为小时
- 测试时,建议采用最近1-2分钟时间让其自动调用执行,并查看日志文件记录的内容是否达到效果,再修改指定时间。
3.问题记录
-bash- : :[: unary operator expected |
修改配置文件内容
vim /etc/profile |
找到对应行
if [$user = "oracle"]; then |
修改为如下内容(单括号改为双括号变成了两个中括号)
if [[$user = "oracle"]]; then |