linux設定計畫任務

2022-03-12 06:43:04 字數 1917 閱讀 1382

我這裡要把mysql資料庫存放目錄/var/lib/mysql下面的pw85資料庫備份到/home/mysql_data裡面,並且儲存為mysql_data20111103.tar.gz的壓縮檔案格式(20111103是指備份執行時當天的日期),然後只保留最近7天的備份,再把備份檔案通過ftp伺服器上傳到指定空間,並且在遠端ftp伺服器只保留最近7天的備份。

實現步驟:

1、建立儲存備份檔案的目錄:/home/mysql_data

cd /home

mkdir mysql_data

2、建立備份指令碼檔案:/home/mysql_data/mysql_databak.sh

cd /home

cd mysql_data

touch mysql_databak.sh

vim mysql_databak.sh

輸入以下內容:

#!/bin/sh

/etc/init.d/mysqld stop #執行備份前先停止mysql,防止有資料正在寫入,備份出錯

date=` date +%y%m%d ` #獲取當前日期

days=7 #days=7代表刪除7天前的備份,即只保留最近7天的備份

bk_dr=/home/mysql_data #備份檔案存放路徑

db_dr=/var/lib/mysql/pw85 #資料庫路徑

linux_user=root #系統使用者名稱

tar zcvf $bk_dr/mysql_data$date.tar.gz $db_dr #備份資料

/etc/init.d/mysqld start #備份完成後,啟動mysql

chown -r $linux_user:$linux_user $bk_dr #更改備份資料庫檔案的所有者

find $bk_dr -name "mysql_data*" -type f -mtime +$days -exec rm {} \; #刪除7天前的備份檔案(注意:{} \;中間有空格)

deldate=` date -d -7day +%y_%m_%d ` #刪除ftp伺服器空間7天前的備份

ftp -nuser admin 123456 #使用者名稱、密碼

binary #設定二進位制傳輸

cd mysqlbak #進入ftp目錄(注意:這個目錄必須真實存在)

lcd /home/mysql_data #列出本地目錄

prompt

mput mysql_data$date.tar.gz mysql_data$date.tar.gz #上傳目錄中的檔案

mdelete mysql_data$deldate.tar.gz mysql_data$deldate.tar.gz #刪除ftp空間7天前的備份

close #關閉

bye ! #退出

3、修改檔案屬性,使其可執行

chmod +x /home/mysql_data/mysql_databak.sh

4、修改/etc/crontab #新增計畫任務

vi /etc/crontab #在下面新增

5 23 * * * root /home/mysql_data/mysql_databak.sh #表示每天23點05分執行備份

5、重新啟動crond使設定生效

/etc/rc.d/init.d/crond restart

chkconfig crond on #設為開機啟動

service crond start #啟動

每天你在/home/mysql_data目錄下面可以看到類似mysql_data20111103.tar.gz這樣的壓縮檔案,如果需要恢復檔案的時候,只需要把這個檔案解壓即可。

解壓縮命令:tar -zxvf mysql_data20111103.tar.gz

linux 設定計畫任務

linux 中設定計畫任務,使用的命令是 crontab 1 獲取目前的時程表 crontab l2 執行文字編輯器來設定時程表 crontab e3 基本格式 command 分 時 日 月 周 命令第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期...

Linux設定計畫任務 crontab

一 crond 是linux用來定期執行程式的服務。crond服務每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service crond stop 關閉服務 sbi...

Linux計畫任務

1.at命令 指定乙個時間執行乙個任務。2.cron命令 根據乙個時間表自動執行任務。3.anacron命令 在乙個指定時間間隔錯過後自動執行任務。at命令 安排乙個任務在未來執行,需要乙個系統後台atd程序。4.如果這個程序沒有開啟,那麼執行 etc init.d atd restart chkc...