Aix上使用crontab和exp定时备份数据库表

以oracle用户为例

1、用oracle用户登录系统
2、创建备份目录 mkdir backup
3、编写脚本/oracle/backup/backup.sh:
export $ORACLE_HOME=/oracle/app/product/9.2.0;
export $ORACLE_SID=orcl;
export $PATH=$ORACLE_HOME/bin:$PATH;
exp test/test file=/oracle/backup/$(date +"%Y%m%d").dmp tables=USER log=/oracle/backup/$(date +"%Y%m%d").log
3、通过ls -l查看backup.sh是否有可执行权限。若没有使用chmod u+x backup.sh,赋予backup.sh可执行权限
4、执行backup.sh。若成功导出dmp,做第5步;否则,检查backup.sh脚本。
5、确认oracle用户是否能使用crontab命令:
 检查/var/adm/cron目录下,cron.deny和cron.allow文件。这两个文件中每一行是一个用户名。
 若没有这两个文件代表只有root用户才能使用crontab。
 若只有cron.deny,确认文件中没oracle。
 若只有cron.allow,确认文件中有oracle。
        若既有cron.deny又有cron.allow, cron.deny中没有oracle,cron.allow中有oracle
 更详细说明,使用man crontab查看说明
6、输入命令crontab -e oracle,打开一个文本编辑器
7、输入55 23 1 * * \oracle\backup\backup.sh,代表每月一号23点55分执行一次备份脚本


备注:
因为是使用crontab -e编辑job,所以不需要重启cron进程或者重启机器。若是手动编辑efesa/var/spool/cron/crontabs/oracle文件,未尝试过
crontab执行的日志路径在/var/adm/cron/log

你可能感兴趣的:(oracle,脚本,AIX)