1. 程式人生 > >crontab定時任務打包備份檔案並刪除過期檔案

crontab定時任務打包備份檔案並刪除過期檔案

Crontab 示例,最後這裡要寫成shell指令碼定時執行

30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs



Crontab歸結為以下幾點特性:
1.     Crontab約束
2.      Crontab命令
3.      Crontab檔案語法
4.      Crontab示例
5.      Crontab環境設定
6.     郵件
7.     日誌檔案
8.     其它
1.     Crontab約束
當用戶名記錄在檔案/usr/lib/cron/cron.allow時,該使用者的crontab有效。當/usr/lib/cron/cron.allow檔案不存在時,使用者名稱沒被記錄在/usr/lib/cron/cron.deny檔案中,該使用者的crontab也有效。當只存在/usr/lib/cron/cron.deny且為空時,所有的使用者都可使用crontab。
當前兩個檔案都不存在時,只有root使用者可以使用crontab。Deny或allow記錄以每行一個使用者名稱的形式記錄資訊
2.     Crontab 命令
export EDITOR=vi ;為crontab檔案指定一個編輯器。 
crontab -e  編輯該使用者的crontab,當指定crontab 不存在時新建。  
crontab -l  列出該使用者的crontab。  
crontab -r  刪除該使用者的crontab。  
crontab -u<使用者名稱稱>  指定要設定crontab的使用者名稱稱。
crontab –v 顯示上一次編輯的時間(只在某些作業系統上可用)
3.      Crontab 檔案
Crontab語法一個crontab檔案用五個段來定義:天,日期和時間,和一個要定期執行的命令程式碼。
*    *  *  *   *  command to be executed
-    -   -   -    -
|    |    |    |    |
|    |    |    |    +----- day of week (0 - 6) (Sunday=0)
|    |    |    +------- month (1 - 12)
|    |    +--------- day of month (1 - 31)
|    +----------- hour (0 - 23)
+------------- min (0 - 59)
 
所有的值都必須在相應的範圍之內,否則視為無效。在填值區域內可以是*也可以是以”,”分隔的一組值。值可以是一個數據也可以是用連線符連起來的兩個數(表示範圍)。注:日期的格式可以是星期,也可以是一個月中的天。假如兩個都有值,則在這兩個時間都會執行。
4. Crontab 例項 

下面是crontab檔案中的一行,意思是在每天下午6:30中刪除臨時檔案(臨時檔案存放在/home/someuser/tmp)。30    18    *    *    *        rm /home/someuser/tmp/*

shell示例:


vi test.sh


#!/bin/sh 
#對變數賦值: 
a="hello world" 
# 現在列印變數a的內容: 
echo "A is:" 
echo $a 


  在您的編輯器中輸入以上內容,然後將其儲存為一個檔案test.sh。之後執行chmod +x test.sh   執行許可權
  使其可執行,最後輸入./test.sh執行該指令碼。 
   這個指令碼將會輸出: 
A is: 
 hello world 

所需語句測試

 #!/bin/sh 

FILENAME=`date +%Y%m%d`     ----------`' 靠,這是esc下面那個鍵,搞了半天才發現

tar -zcvf /backup/$FILENAME  /home/user  將home/user打包到/backup/$FILENAM   `date +%Y%m%d` 為日期
 
 
 tar -zcvf /usr/local/tomcat9-jforum/tomcat/webapps/jforum/images/avatar    打包
 
 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs/catalina.out   測試複製
 
 
 rm -f /usr/local/tomcat9-jforum/backup/`date +%y%m%d`_avatar.tar.gz  測試刪除
 
 rm -f /home/svnbak/`date -d '-5 days' +%Y%m%d`.tar.gz  測試刪除過期檔案
 論壇使用者檔案備份.sh

 
#/bin/sh 
#filebak 
#file executable: chmod 755 filebak 
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 
export PATH 
bakdir="/home/bbs/backup" 
filename1="`date +%Y%m%d`_avatar.tar.gz" 
filename2="`date +%Y%m%d`_postimages.tar.gz" 
filename3="`date +%Y%m%d`_upload.tar.gz" 
filename4="`date +%Y%m%d`_jforumLuceneIndex.tar.gz" 
if [ ! -x "$bakdir" ];then 
mkdir $bakdir 
fi 
cd $bakdir 
tar cvfz $filename1 /home/bbs/tomcat-bbs/webapps/jforum/images/avatar          打包
tar cvfz $filename2 /home/bbs/tomcat-bbs/webapps/jforum/images/postimages
tar cvfz $filename3 /home/bbs/tomcat-bbs/webapps/jforum/upload
tar cvfz $filename4 /home/bbs/tomcat-bbs/webapps/jforum/WEB-INF/jforumLuceneIndex
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_avatar.tar.gz               刪除過期
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_postimages.tar.gz
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_upload.tar.gz
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_jforumLuceneIndex.tar.gz


新增定時任務
crontab -e
crontab -l 檢視


 25 14 * * * /home/bbs/bbsfilebackup
 
 :wq
 

此為每天下午兩點25執行一次






 





相關推薦

crontab定時任務打包備份檔案刪除過期檔案

Crontab 示例,最後這裡要寫成shell指令碼定時執行 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs Cr

linux實戰(五)----壓縮備份檔案刪除檔案----例項解析

我們在日常的監控中要考慮到磁碟空間的問題,經常會把日誌檔案壓縮備份並刪除原檔案。 我們在基礎(八)中已經學習了壓縮檔案的命令,我們需要做的是把壓縮命令與指令碼結合起來。 這裡以實戰(四)中寫

Log4j按大小、日期生成gz壓縮檔案刪除過期日誌

1、準備jar  :log4j-1.2.17.jar,commons-logging-1.2.jar,這2個就可以了,其他關於日誌的jar包就不要加進來了,在優先順序上會有衝突。 2、定義一個類,繼承RollingFileAppender類,這個類是按照日誌大小滾動生成日誌

linux實現crontab定時任務計劃刪除之前的檔案備份

Mysql定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份資料。利用系統crontab來定時執行備份檔案,按日期對備份結果進行儲存,達到備份的目的。1、建立備份資料夾#cd /bak#mkdir mysqldata2、編寫執行指

C#開發的定時自動拷貝檔案到別處,刪除過期備份檔案,支援網路上的芳鄰拷貝

開發工具VS2013  .net 框架 2.0 SQL server的備份檔案只可以備份在本機,只有一份,這個軟體可以定時把備份檔案拷貝到別的機器,作為另外的備份,還可以在成功備份後自動刪除過期的檔案,沒有成功備份,不刪除過期檔案,以免誤刪,除非手動刪除。 拷貝檔案過程中沒有進度條

Linux普通使用者設定Crontab定時任務執行(親測有效)

Crontab命令及用法我這裡就不多做解釋了,直接從設定Crontab開始。**在root使用者下執行**1.安裝crontab:使用命令:yum install crontabs**在普通使用者下執行

Linux使用crontab定時任務執行python檔案小記

在centos系統中預設安裝了crontab,可以對其進行設定來進行定時任務,定時任務的最低時間點是分鐘 先來介紹一下基本使用吧 可以使用 vim /etc/crontab  開啟crontab的配置檔案,進行crontab的定時任務的配置 配置格式: 每五分鐘執行   *

linux crontab定時任務執行php檔案

下面簡單介紹一下什麼是crontab crond是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護程序,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的

crontab定時任務中文亂碼問題 -db2定時備份 -db2手動備份正常,定時亂碼

經過多方查證終於找到了原因! crontab啟動的任務沒有獲取系統的環境變數,導致中文亂碼 解決辦法:    在執行的腳步中新增編碼方式或者新增對應的環境變數 如: 1、/usr/bin/java -Dfile.encoding=UTF-8 -jar ALDTool.jar 2、在指令碼開頭增加: expo

使用python指令碼備份crontab定時任務

近期打算備份下伺服器crontab任務,以防個人失誤,清空定時任務,其實我覺得shell指令碼更簡單,但是想練習下python,決定使用python指令碼進行,前提執行主機做好對其他節點伺服器ssh免

linux下刪除指定crontab定時任務

1、新建兩個指令碼檔案用來進行測試 test1.sh ping 114.114.114.114 test2.sh ping 8.8.8.8 2、通過crontab -e命令編輯crontab任務,增加內容如下: */1 * * * * /dd/shell/test1.sh

(windows)python指令碼:自動備份壓縮檔案,同時刪除過期檔案

(本文由Tengda huang 發表於 http://blog.csdn.net/cogent2001 ,該文章所提到的程式為原創,使用者可以任意引用,修改該程式。轉載請註明出處,謝謝!)         近來忙東忙西,有些重複性的事務就懶得做,比如檔案備份。不過不做也不

crontab定時任務備份資料庫

開發十年,就只剩下這套架構體系了! >>>   

crontab定時任務

roo 刪除 rontab port .py 絕對路徑 n) for 使用 crontab -e 0 4 * * * /root/scripts/mysqlbackup.sh 0 4 * * * /root/scripts/apacherestart.sh 0 5 * *

CentOS Crontab(定時任務)

status stat ntsysv 設置 backup pda 啟動服務 brush 分鐘 安裝crontab: yum install crontabs 說明: service crond start //啟動服務 service crond stop //關閉服務 s

crontab定時任務中文亂碼問題

技術 tab -s 開頭 tool 測試 解決 jar 設置 crontab啟動的任務沒有獲取系統的環境變量,導致中文亂碼 解決辦法: 在執行的腳步中添加編碼方式或者添加對應的環境變量 如: 1、/usr/bin/java -Dfile.encoding=UTF-8

linux應用之crontab定時任務的設置

表格 軟件 結果 monthly 不執行 shell腳本 service 文件 時間 實現Linux定時任務有:cron、anacron、at等,這裏主要介紹cron服務。 名詞解釋: cron是服務名稱,crond是後臺進程,crontab則是定制好的計劃任務表。

【linux】Crontab 定時任務 使用實例

進行 服務器 image program 權限 舉例 星期六 style log 1 使用putty 登錄linux 服務器 2 輸入以下命令。查看已有的定時任務 crontab -l 3 輸入 以下命令,進入定時任務文件 crontab -e 4 鍵盤

crontab定時任務詳解

文件 install 重新 init 設定 ntpdate 關閉 同步 星期 1、安裝crontab:yum install crontabs 說明:/sbin/service crond start //啟動服務/sbin/service crond stop //關閉

Linux Crontab定時任務

crontab 定時任務 linux定時任務 定時腳本 一、說明很多項目需要設置一定服務器的定時任務Crontab來實現一些腳本功能,所以在這裏整理總結一下。環境:linux + centos6.8二、準備1、查看服務器的crontab是否在服務器狀態service crond status啟