Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件
2017-08-21 15:27
846 查看
创建sh脚本
添加脚本内容
#!/bin/sh
# ##################################################################
# Powered by Ironfo
# ##################################################################
# Oracle Environment settings
ORACLE_BASE=/usr/local/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:/usr/local/bin:/usr/ccs/bin:$PATH:/usr/sbin
export PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib ; export CLASSPATH
backup_dir=$ORACLE_BASE/admin/orcl/dpdump
#可以创建数据泵目录directory,这里指定默认的目录
#SQL>CREATE DIRECTORY dump_backup_dir as '/u01/oradata/dump_backup_dir';
#SQL>grant read,write on directory dump_backup_dir to user;
DMP_FILE=PH_$(date +%Y%m%d_%H%M%S).dmp
LOG_FILE=PH_$(date +%Y%m%d_%H%M%S).log
#
# Let's start with an export of the database
expdp user/pwd@orcl schemas=schema_name DUMPFILE=$DMP_FILE logfile=$LOG_FILE compression=all;
#expdp user/pwd@orcl schemas=schema_name DIRECTORY=$dump_backup_dir DUMPFILE=$DMP_FILE logfile=$LOG_FILE compression=all parallel=3;
# 这里的2个说明,用户名和密码换成自己的,我这里是备份表空间。
# parallel 这个参数是控制并行度的,默认是1,但对于数据库比较大的时候,可以设置parallel,这样可以较少备份的
#时间,但是设置并行会耗CPU 资源,如果CPU 资源比较紧张的话,就不要设了。
#
# Just to be safe (with space), we'll compress the export file
# 压缩dmp 文件,较少对空间的占用
#compress *.dmp
#
# Let's delete the backups and logs that are more than 1 days old
# 删除2天前PH_开头的dmp文件
#
cd $backup_dir
find $backup_dir -mtime +2 -name "PH_*" -exec rm -f {} \;
# That's all
:wq
保存并退出
设置权限
添加定时任务
查看任务
crontab 前面5个*参数的意义:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
[oracle@localhost ~]$ vi logicbackup.sh
添加脚本内容
#!/bin/sh
# ##################################################################
# Powered by Ironfo
# ##################################################################
# Oracle Environment settings
ORACLE_BASE=/usr/local/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:/usr/local/bin:/usr/ccs/bin:$PATH:/usr/sbin
export PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib ; export CLASSPATH
backup_dir=$ORACLE_BASE/admin/orcl/dpdump
#可以创建数据泵目录directory,这里指定默认的目录
#SQL>CREATE DIRECTORY dump_backup_dir as '/u01/oradata/dump_backup_dir';
#SQL>grant read,write on directory dump_backup_dir to user;
DMP_FILE=PH_$(date +%Y%m%d_%H%M%S).dmp
LOG_FILE=PH_$(date +%Y%m%d_%H%M%S).log
#
# Let's start with an export of the database
expdp user/pwd@orcl schemas=schema_name DUMPFILE=$DMP_FILE logfile=$LOG_FILE compression=all;
#expdp user/pwd@orcl schemas=schema_name DIRECTORY=$dump_backup_dir DUMPFILE=$DMP_FILE logfile=$LOG_FILE compression=all parallel=3;
# 这里的2个说明,用户名和密码换成自己的,我这里是备份表空间。
# parallel 这个参数是控制并行度的,默认是1,但对于数据库比较大的时候,可以设置parallel,这样可以较少备份的
#时间,但是设置并行会耗CPU 资源,如果CPU 资源比较紧张的话,就不要设了。
#
# Just to be safe (with space), we'll compress the export file
# 压缩dmp 文件,较少对空间的占用
#compress *.dmp
#
# Let's delete the backups and logs that are more than 1 days old
# 删除2天前PH_开头的dmp文件
#
cd $backup_dir
find $backup_dir -mtime +2 -name "PH_*" -exec rm -f {} \;
# That's all
:wq
保存并退出
设置权限
[oracle@localhost ~]$ chmod 777 ./logicbackup.sh
添加定时任务
[oracle@localhost ~]$ crontab -e #每6小时执行一次 错误信息将输出到 tmp/expdp.log 文件中 * */6 * * * /home/oracle/logicbackup.sh > /tmp/expdp.log 2>&1
查看任务
[oracle@localhost ~]$ crontab -l * */6 * * * /home/oracle/logicbackup.sh > /tmp/expdp.log 2>&1 [oracle@localhost ~]$
crontab -r 删除定时任务
crontab 前面5个*参数的意义:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
相关文章推荐
- Linux shell crontab expdp 定时任务逻辑备份
- linux实现crontab定时任务计划并删除之前的文件备份
- Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件
- crontab定时任务打包备份文件并删除过期文件
- 一个Linux下Mysql备份脚本,可用于crontab定时任务
- Linux命令之文件同步、定时备份 -rsync,cron,crontab
- linux上利用crontab定时备份postgres数据库及文件到windows系统
- linux中shell定时任务执行oracle备份
- linux利用find + crontab定时删除文件(过期、超时)
- Linux命令之文件同步、定时备份 -rsync,cron,crontab
- linux 定时删除文件shell
- Linux定时任务执行,删除某个时间段的文件
- Linux笔记整理:设置任务定时删除文件
- linux定时任务的设置(定时删除备份)
- linux中crontab的用法,shell实现定时任务
- 让linux每天定时备份MySQL数据库并删除五天前的备份文件
- 关于linux定时任务与shell脚本——实现远程数据库备份
- linux(4) crontab任务调度 + shell文件 进程的概念
- Linux下Debian包定时备份数据库文件和删除备份文件
- Linux 定时删除文件或文件夹的shell脚本