AIX系统中配置自动执行脚本语法与Linux系统上稍微不同:
首先使用oracle用户建立fullbackup_ttuser.sh脚本
-----------------------------------------
#!/usr/bin/ksh
# 设置环境变量 这里的变量从oracle用户的配置文件中取得 aix系统的位置是/home/oracle/.porfile
export ORACLE_HOME=/oracle/app/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
# 备份路径要建立正确 create directory dmpbakdir as '/backup/dmp';
# 给ttuser对应目录的读写权限 grant read, write on directory dmpbakdir to ttuser;
# 定义备份目录和文件名,这个目录建议使用oracle用户建立 mkdir dmp,这样就不用单独授权了
BACKUP_DIR=/backup/dmp
# 定义日期
rq=$(date "+%Y%m%d_%H%M")
# 使用expdp命令备份ttuser schema的所有对象 这里给ttuser了dba权限
expdp ttuser/ttuser schemas=ttuser directory=dmpbakdir dumpfile=ttuser"${rq}".dmp logfile=ttuser"${rq}".log exclude=statistics
# 删除3天前的备份文件
find $BACKUP_DIR -type f -mtime +3 -exec rm {} \;
----------------------------------------------------
# 执行文件保存后注意给它授权【可执行权限】,777是最偷懒的做法~
chmod 777 fullbackup_ttuser.sh
----------------------------------------------
# 然后使用root用户来建立crontab任务
# 有时候需要用户是否有权限执行crontab,为了保险直接用root用户做
crontab -e
在末尾加入执行命令,代表每天23:01执行指定的脚本
01 23 * * * /backup/script/fullbackup_ttuser.sh
时间配置参考:
按照如上配置,就可以轻松建立AIX下的自动备份脚本了。
推荐阅读