ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 定时任务——crontab

定时任务——crontab

原创 Linux操作系统 作者:tietouwa 时间:2018-07-31 14:45:46 0 删除 编辑

脚本目录:

  • [oracle@tangjian ~]$ mkdir -p /u01/app/oracle/rman/scripts/

归档目录:

  • [oracle@tangjian ~]$ mkdir -p /u01/app/oracle/rman/arch/

创建脚本:(每月一次0级增量)

  • [oracle@tangjian ~]$ vi /u01/app/oracle/rman/scripts/full_backup_run.sh

    

#!/bin/bash

#Usage:test database hot full backup !

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=test

export PATH=$PATH:$ORACLE_HOME/bin

DATE=$(date +%Y%m%d)

mkdir -p /u01/app/oracle/rman/$DATE

rman target / <<EOF

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

sql'alter system switch logfile';

crosscheck archivelog all;

delete noprompt expired archivelog all;

backup incremental level 0 database format '/u01/app/oracle/rman/$DATE/test_%U.bk' include current controlfile plus archivelog delete input format '/u01/app/oracle/rman/arch/arch_test_%U.arch';

crosscheck archivelog all;

delete noprompt obsolete;

delete noprompt backup of database completed before 'sysdate - 32';

release channel c1;

release channel c2; }

exit;

EOF


  • [root@tangjian ~]# chmod -R 775 /u01/app/oracle/rman/scripts/full_backup_run.sh

添加定时任务:


  • [oracle@tangjian 20180730]$ crontab -e

#rman backup full database shell

52 14 * * * /u01/app/oracle/rman/scripts/full_backup_run.sh 1>/u01/app/oracle/rman/rman_backup_full.log 2>&1

查看任务列表:

  • [oracle@tangjian 20180730]$ crontab -l





创建脚本:(每星期一次1级差异增量)

  • [oracle@tangjian ~]$ vi /u01/app/oracle/rman/scripts/level_backup_run.sh


#!/bin/bash

#Usage:test database hot full backup !

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=test

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

DATE=$(date +%Y%m%d)

mkdir -p /u01/app/oracle/rman/level/$DATE

rman target / <<EOF

run{

allocate channel a1 device type disk;

allocate channel a2 device type disk;

sql'alter system switch logfile';

crosscheck archivelog all;

delete noprompt expired archivelog all;

backup incremental level 1 database format '/u01/app/oracle/rman/level/$DATE/test_%U.bk' include current controlfile plus archivelog delete input format '/u01/app/oracle/rman/arch/arch_test_%U.arch';

crosscheck archivelog all;

delete noprompt obsolete;

delete noprompt backup of database completed before 'sysdate -32';

release channel a1;

release channel a2;

}

exit;

EOF

  • [root@tangjian ~]# chmod -R 775 /u01/app/oracle/rman/scripts/level_backup_run.sh

添加定时任务:

  • [oracle@tangjian 20180730]$ crontab -e

#rman backup full database shell

00 1 1 * * /u01/app/oracle/rman/scripts/full_backup_run.sh 1>/tmp/rman_backup_full.log 2>&1

#rman backup level database shell

00 1 * * 7 /u01/app/oracle/rman/scripts/level_backup_run.sh 1>/tmp/rman_backup_full.log 2>&1


验证脚本可用性:

  • [oracle@tangjian scripts]$ sh full_backup_run.sh

  • [oracle@tangjian scripts]$ sh level_backup_run.sh

    

常 用命令 :
/sbin/service crond start            启动服务

/sbin/service crond stop             关闭服务

/sbin/servi c e crond restart        重启服务

/sbin/service crond reload         重新载入配置

 

在 /etc/rc.d/rc.local 这个脚本的末尾加上 (开机自启) :

/sbin/service crond start

 

crontab -u         设定某个用户的 cron 服务,一般 root 用户在执行这个命令的时候需要此参数

crontab -l          列出某个用户 cron 服务的详细内容

crontab -r          删除 某 个用户的 cron 服务

crontab -e         编辑某个用户的 cron 服务


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31547381/viewspace-2168728/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2018-07-25

  • 博文量
    5
  • 访问量
    3701