使用命令實現乙個資料庫定時備份任務:
***\一、常用的命令如下:
1、編輯乙個新的crontab任務
crontab -e
2、檢視編寫後的crontab任務
crontab -l
3、重啟contab任務服務
service crond restart
4、檢視contab任務狀態
service crond status
5、重新載入配置
service crond reload
6、關閉服務
service crond stop
7、啟動服務
service crond start
8、crontab時間格式
# for details see man 4 crontabs
# example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) or jan,feb,mar,apr …
# | | | | .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
---------------------
二、使用命令實現乙個資料庫定時備份任務:
*1:建立備份的目錄*
cd /home
mkdir backup
cd backup
*2:建立備份的shell指令碼*
vi backup.sh
#!/bin/bash
#備份儲存路徑
backup_dir=/home/yiqiliuliu/mysqlbackup
#日期dd=date +%y%m%d%h
#使用者名稱
username=「root」
#密碼password=「123456」
#將要備份的資料庫
database_name=「hcgx」
#簡單寫法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.dump
#mysqldump命令所在路徑,可以先find / -name mysqldump 查詢出來位置
#在這邊要注意一下,執行mysqldump的時候,一定要加上完整的路徑,一般這種備份檔案的指令碼都是放在crontab中,定時執行的。而你如果直接使用mysqldump,不加上完整的路徑的話,會出現**crontab的定時任務不能自動執行,但是手動執行指令碼一直能成功,這就涉及到crontab的環境變數問題了.
/usr/local/mysql/bin/mysqldump -uuse
rnam
e−
pusername -p
userna
me−p
password $database_name | gzip > bac
kupd
ir
/backup_dir/
backup
dir
/database_name-$dd.sql.gz
#寫建立備份日誌
echo "create bac
kupd
ir
/backup_dir/
backup
dir
/database_name-$dd.sql.gz " >> $backup_dir/log.txt
#找出需要刪除的備份
find $backup_dir/ -name 「*.sql.gz」 -type f -mtime +1 -exec rm {} ;
*3:給sh新增可執行的許可權*
chmod` `u+x `backup`.sh
*4:新增定時任務*
檢測或安裝 crontab
確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
執行命令:、
crontab -e
* * * * * /home/yiqiliuliu/yiqiliuliu.sh
每分鐘執行一次定時任務
*5:測試任務是否執行*
很簡單,我們就執行幾次「ls」命令,看看一分鐘過後檔案有沒有被建立就可以了!
如果任務執行失敗了,可以通過以下命令檢視任務日誌:
# tail -f /var/log/cron
資料庫備份指令碼
#!/bin/bash
export pgpassword='lty@100729'
curdate=`date +%f-%h-%m-%s`
dir=/home/nianxh/pgbak
dumpdir=/usr/local/postgresql-9.5/bin/pg_dump
dbase=huanghua
if [ ! -d $dir ];then
mkdir -p $dir
fi/usr/local/postgresql-9.5/bin/pg_dump --host 192.168.1.3 --port 5432 --username lantaiyuan -d huanghua |gzip > $dir/$dbase$curdate.dmp.gz
#$dumpdir $dbase |gzip > $dir/$dbase$curdate.dmp.gz
find $dir -ctime +15 -name "*.gz" | xargs rm -f
cronttab定時任務0 8 * * * /home/nianxh/pgbak/pagbak.sh #每天8點定時備份
Linux中實現定時備份資料庫
需求分析 1 每天凌晨 2 10 備份 資料庫 mydatebase 到 data backup db 2 備份開始和備份結束能夠給出相應的提示資訊 3 備份後的檔案要求以備份時間為檔名,並打包成 tar.gz 的形式,比如 2018 12 12 230201.tar.gz 4 在備份的同時,檢查是...
linux 定時備份資料庫
linux下定時備份mysql使用到了crontab系統,其按日期對備份結果進行儲存,從而達到備份資料庫的目的。1 建立mysql中資料庫的備份目錄,mkdir mysqlbackdir 2 建立mysql備份指令碼,vi usr sbin bak mydb 2012 6 19 edit by ji...
linux定時備份資料庫
1.首先我們需要檢視磁碟空間,命令 df h 我們可以看到根目錄下的磁碟空間比較大,之所以要看磁碟空間,目的是防止我們經常備份資料庫,導致磁碟的容量不夠 2.新建檔案,存放資料庫備份指令碼和備份資料 cd mkdir backup 3 在backup目錄下新建指令碼名為backup.sh vi ba...