溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解定時任務(wù)crontab

發(fā)布時間:2021-11-09 09:52:44 來源:億速云 閱讀:111 作者:柒染 欄目:建站服務(wù)器

這篇文章將為大家詳細講解有關(guān)怎么理解定時任務(wù)crontab,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

腳本目錄:

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

歸檔目錄:

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

創(chuàng)建腳本:(每月一次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

添加定時任務(wù):

  • [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

查看任務(wù)列表:

  • [oracle@tangjian 20180730]$ crontab -l

創(chuàng)建腳本:(每星期一次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

添加定時任務(wù):

  • [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           啟動服務(wù)

/sbin/service crond stop            關(guān)閉服務(wù)

/sbin/service crond restart       重啟服務(wù)

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

在/etc/rc.d/rc.local這個腳本的末尾加上(開機自啟):

/sbin/service crond start

crontab -u        設(shè)定某個用戶的cron服務(wù),一般root用戶在執(zhí)行這個命令的時候需要此參數(shù)

crontab -l         列出某個用戶cron服務(wù)的詳細內(nèi)容

crontab -r        刪除某個用戶的cron服務(wù)

crontab -e        編輯某個用戶的cron服務(wù)

關(guān)于怎么理解定時任務(wù)crontab就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI