1、建立如下目錄
backup為空目錄
kxrs-backup.sh為可執行檔案
2、kxrs-backup.s**件內容:
user="admin"檔案中的kxrs為資料庫名稱。password="123456"
database="kxrs"
hostname="localhost"
date=`date '+%y%m%d-%h%m'` #日期格式(作為檔名)
dumpfile='kxrs'-$date.sql #備份檔案名
archive='kxrs'-$date.sql.tgz #壓縮檔案名
options="-h$hostname -u$user -p$password $database"
#mysqldump -help
#判斷備份檔案儲存目錄是否存在,否則建立該目錄
if [ ! -d $backup_dir ] ;
then
mkdir -p "$backup_dir"
fi#開始備份之前,將備份資訊頭寫入日記檔案
echo " " >> $logfile
echo " " >> $logfile
echo "------------------" >> $logfile
echo "backup date:" $(date +"%y-%m-%d %h:%m:%s") >> $logfile
echo "------------------" >> $logfile
#切換至備份目錄
cd $backup_dir
#使用mysqldump 命令備份制定資料庫,並以格式化的時間戳命名備份檔案
/usr/bin/mysqldump $options > $dumpfile
#判斷資料庫備份是否成功
if [[ $? == 0 ]]; then
#建立備份檔案的壓縮包
tar czvf $archive $dumpfile >> $logfile 2>&1
#輸入備份成功的訊息到日記檔案
echo "[$archive] backup successful!" >> $logfile
#刪除原始備份檔案,只需保 留資料庫備份檔案的壓縮包即可
rm -f $dumpfile
else
echo "database backup fail!" >> $logfile
fi#輸出備份過程結束的提醒訊息
echo "backup process done"
#刪除7天以上的備份
3、使用crontab命令建立定時任務
前面的時間任務分別的含義是:
注:可以新增多個任務
接下來::wq儲存退出。直接就生效了,不需要再執行別的命令。如果需要修改,直接修改儲存即可。
**contab -l 檢視新建的任務:
**contab -r:刪除任務
(注意:沒有提示,直接就刪掉了,所以慎用)
注:crond和crontab說明
linux 系統是由 crond這個系統服務來控制的。
linux 系統上面原本就有非常多的計畫性工作,因此這個系統服務是預設啟動的。
檢視crond系統服務的狀態:
命令:systemctl status crond.service
從這裡可以看出來crond服務是自啟動(enabled),且正在執行的(active)
另外, 由於使用者自己也可以設定計畫任務,所以, linux 系統也提供了使用者控制計畫任務的命令 :crontab 命令。
4、結果檢視
在backup目錄外會生成.log檔案,裡面包含了備份的時間記錄。
backup目錄:
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
mysql 定時任務 生效 mysql定時任務
1.檢視是否開啟定時策略 show variables like event sche 若出現如下圖,則此時是關閉狀態 開啟定時策略 重啟無效 set global event scheduler 1 則需要在配置檔案my.ini的設定 重啟有效 mysqld event scheduler on ...
Linux下的定時任務
在有了郵件的告警功能後,下一步要做的就是做乙個定時任務,讓這個任務按週期執行,這樣就能周期性地收到告警資訊了。在做定時任務之前,先檢查一下當前的系統時間 date y m d t 和硬體時鐘時間 hwclock root localhost test date y m d t 2013 07 01 ...