1. 程式人生 > >DSM設定時間伺服器導致根據檔案建立時間刪除出現問題

DSM設定時間伺服器導致根據檔案建立時間刪除出現問題

今天在做oracle的rman定時備份時,出現一個問題。oracle伺服器掛在了一個NFS網路儲存,oracle的定時任務剛把資料檔案備份到網路儲存,就被刪除了(指令碼中依據資料夾建立時間清理rman備份資料夾)

rman定時備份指令碼:

#!/bin/bash
#----------------------------------------------------------------------------------------------#
#                                                                                              #
#                                  *********** rman備份資料庫*********                         #
#                                                                                              #
#                 備份路徑:opt/oracle/backup                                                  #
#                                                                                              #
#                 備份路徑掛載了網路儲存                                                       #
#                                                                                              #
#                 備份集都有一個單獨的資料夾,每日一次                                         #
#                                                                                              #
#                 每次備份後會刪除指定天數前的備份資料夾                                       #
#                                                                                              #
#                 作者:mtb                                                                    #
#                                                                                              #
#                 時間:2018.7.17                                                              #
#                                                                                              #
#                                                                                              #
#----------------------------------------------------------------------------------------------#
#備份資料夾的名稱$RMAN_BASE/date_today格式
#如/opt/oracle/backup/2018-03-23
#備份資料夾的根目錄,每個備份集儲存格式$RMAN_BASE/date
RMAN_BASE='/opt/oracle/backup'
#引入oracle的環境變數
source /home/oracle/.bash_profile
#date格式為xxxx-xx-xx-xx:xx:xx
#date_today=$(date +"%Y-%m-%d")   #獲取系統當前日期時間
date_today=$(date +"%Y-%m-%d-%H:%M:%S")
#當前備份存放路徑為$RMAN_BASE/$date_today
BACKUP_DIR=$RMAN_BASE/$date_today
#設定刪除1天之前的備份檔案
days=1
#如果備目錄不存在則建立
if [ ! -e $BACKUP_DIR ]
    then
        mkdir -p $BACKUP_DIR
fi


#rman備份資料檔案及controlfile,spfile
rman target / log=$BACKUP_DIR/backupall_rman_$date_today.log<<EOF

run {
        Allocate channel rman_1 type disk;
        Allocate channel rman_2 type disk;
        Allocate channel rman_3 type disk;
        sql 'alter system switch logfile';
        backup database format '$BACKUP_DIR/df_%T_%U.dbf';
        backup current controlfile format '$BACKUP_DIR/cf_%T_%U.ctf';
        backup spfile format '$BACKUP_DIR/sp_%T_%U.sp';
        release channel rman_1;
        release channel rman_2;
        release channel rman_3;
     }
crosscheck backup;
delete expired backup;
delete obsolete recovery WINDOW OF 7 DAYS;
list backupset;
exit;
EOF;
#刪除$RMAN_BASE目錄下滿足2018-開頭且超過指定天數的資料夾
find $RMAN_BASE/* -type d -name "2018-*" -a -mtime +$days -exec rm -rf {} \; 
[[email protected] 2018-07-17-15:54:08]$ crontab -l
1 1 * * * /home/oracle/test.sh
[[email protected] 2018-07-17-15:54:08]$ 

使用了根據資料夾的建立時間刪除指定天數之前的資料夾,以防檔案佔用太多容量,發現剛備份完就被刪除

確定是最後面的刪除語句刪除,排查發現NFS網路儲存的時間是2014年,而現在時間是2018年,於是修改NFS(群輝的)時間

新增時間伺服器同步時間解決問題

相關推薦

DSM設定時間伺服器導致根據檔案建立時間刪除出現問題

今天在做oracle的rman定時備份時,出現一個問題。oracle伺服器掛在了一個NFS網路儲存,oracle的定時任務剛把資料檔案備份到網路儲存,就被刪除了(指令碼中依據資料夾建立時間清理rman備份資料夾) rman定時備份指令碼: #!/bin/bash #---

獲取檔案建立時間

實現效果:    知識運用:   FileInfo類的CreationTime屬性   //獲取或設定當前FileInfo物件的建立時間   public DataTime CreationTime   { get;set } 實現程式碼: private void

C#獲取檔案建立時間的程式碼

下面資料是關於C#獲取檔案建立時間的內容,應該是對各朋友也有用處。using System;using System.IO;class Class1 {static void Main(string[] args) {string[] cla = Environment.GetCommandLineArgs(

C++ win環境修改檔案建立時間、最後的修改時間和最後的訪問時間

引言 應用做檔案處理後,輸出檔案時間為當前的系統時間,但往往我們需要被建立的檔案具有指定的建立日期、最後的修改日期和最後的訪問日期。這裡就使用win系統函式SetFileTime設定檔案時間資訊做完整例項分析。 SetFileTime函式說明 MSDN

php獲取檔案建立時間、修改時間、訪問時間

filemtime ( string filename ) 返回檔案上次被修改的時間,出錯時返回 FALSE。時間以 Unix 時間戳的方式返回,可用於 date()。 例如:$a=filemtime("log.txt");            echo "修改時間:".date("Y-m-d H:i:s

java獲取檔案建立時間

方案一: private static Date getCreateTime(String fullFileName){ String str = null; try { Process p = Runtim

Linux使用筆記: 設定Samba伺服器中新建檔案/目錄的許可權

From: http://easwy.com/blog/archives/set-file-directory-attribute-for-linux-samba/ 通過Samba伺服器實現windows和Linux之間的檔案共享,相信是絕大多數人的選擇。通常我們都會使

根據ajax從伺服器獲取資料的時間和ID,根據最近的時間,顯示一個記錄重複ID的數字

success:function(data){  if(data.length>0){   var map = {};for (var i in data) {   var user_id = data[i]["USER_ID"];   if (map[user_id

手動操作使用者相關檔案建立刪除使用者

  新建 user001使用者 1、在passwd檔案新增內容:vim /etc/passwd 2、在shadow檔案新增內容:vim /etc/shadow 3、在group檔案新增內容,vim /etc/group 4、在gshadow檔案新增內容,vim /etc/gsh

Linux資料夾檔案建立刪除;複製,移動

一  Linux刪除資料夾命令      linux刪除目錄很簡單,很多人還是習慣用rmdir,不過一旦目錄非空,就陷入深深的苦惱之中,現在使用rm -rf命令即可。 直接rm就可以了,不過要加兩個引數-rf 即:rm -rf 目錄名字 刪除目錄、檔案 rm(re

用windows搭建ntp時間伺服器(從上級獲取時間,併為客戶機提供時間

原文連結:https://blog.csdn.net/dsg333/article/details/44854221. 將伺服器型別更改為 NTP。為此,請按照下列步驟操作:a.  單擊“開始”,單擊“執行”,鍵入 regedit,然後單擊“確定”。 b.  找到並單擊下面的

.net,C#,Ftp各種操作,上傳,下載,刪除檔案,建立目錄,刪除目錄,獲得檔案列表...

using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Windows.Forms; namespace ConvertData {

java檔案建立刪除、讀取、寫入操作大全

複製檔案 1.以檔案流的方式複製檔案 public void copyFile(String src,String dest) throws IOException...{          FileInputStream in=new FileInputStream(s

idea建立新的類(檔案)時,自動新增作者建立時間檔案註釋)等資訊的設定方法

一、文件註釋(設定後建立新檔案自動生成如下 二、設定方式(如下圖)調出設定選項快捷鍵 Mac下快捷方式Command + , 寫法 釋義 ${PACKAGE_NAME} n

linux下檔案建立時間、訪問時間、修改時間和改變時間

   Linux系統中沒有命令可以確切的檢視一個檔案的生成時間,但是可以知道訪問時間,修改時間,改變時間。 可以通過stat命令檢視一個檔案的訪問時間,修改時間,改變時間: 以下為三個時間的區別: 1、訪問時間(accesstime):讀取一次檔案的內容,該時間

Linux系統touch命令改變檔案建立時間

使用touch命令:將檔案的時間修改為2013年1月21日19點25分 touch -c -m -t 201301211925 version.dat 前提是必須有這個檔案。 解釋說明: -c表示不建立檔案  --no-create    do

Spring Boot Cache + redis 設定有效時間和自動重新整理快取,時間支援在配置檔案中配置

分享一下我老師大神的人工智慧教程吧。零基礎,通俗易懂!風趣幽默!http://www.captainbed.net/ 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Eclipse中建立java類的時候自動設定作者資訊和建立時間

window—>preferences—>Java—>Code Stype—>Code Templates Code—>New Java files 點選Edit ${filecomment} ${package_declaration} /** * @

solaris修改目錄、檔案建立時間(touch -t)

[[email protected]:/test]# ls -ll|grep dirtest1                 

根據路徑建立檔案的最佳方式

第一種 String path = "D://app/upload/"; File file = new File(path); try {     file.createNewFile(); } catch (IOException e) { log.