Centos中crontab自動備份網站實現方法

來源:互聯網
上載者:User

crontab簡介

crontab命令常見於Unix和類Unix的作業系統之中,用於設定周期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於“crontab”檔案中,以供之後讀取和執行。該詞來源於希臘語 chronos(χρνο),原意是時間。  通常,crontab儲存的指令被守護進程啟用, crond常常在後台運行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

crontab用法

crontab的格式如下面:

 代碼如下 複製代碼

f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行程式的路徑。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推
當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推
當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其餘類推
當 f1 為 a, b, c,… 時表示第 a, b, c,… 分鐘要執行,f2 為 a, b, c,… 時表示第 a, b, c…個小時要執行,其餘類推
管理員登入SSH,輸入命令crontab -e編輯crontab檔案,根據上面的格式輸入並儲存。

下面說下常見的備份方法:

1. 檔案備份

用tar命令壓縮檔做備份:

 代碼如下 複製代碼
#tar -zcvf backup.tar.gz dir1

dir1為要備份的目錄或者檔案
備份恢複的命令:

 代碼如下 複製代碼
#tar -zxvf backup.tar.gz

2. Database Backup

大多數資料庫系統有命令支援資料庫的備份和恢複. 比如mysql, 資料庫的備份命令為:

 代碼如下 複製代碼
#mysqldump -host=dbhost -user=username -password=password dbname > db.dump
mysql備份的恢複命令為:
#mysql -host=dbhost -user=username -password=password dbname < db.dump

3. 自動任務定時備份

先利用上面的命令寫一個備份的指令碼(比如/home/backup/backup.sh),然後用crontab -e命令來編輯定時任務,下面是第天01:30自動備份的例子

 代碼如下 複製代碼

30 01 * * * /home/backup/backup.sh

4.備份檔案的命名

可以為每天的備份檔案名上自動加入備份的時間,下面是一個樣本的指令碼:

 代碼如下 複製代碼

#! /bin/bash
curr=`date +%Y%m%d%H%M%S`
tar czvf backup_$curr.tar.gz dir1 dir2
mysqldump -host=dbhost -user=username -password=password dbname > db_$curr.dump

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.