當前位置:首頁 » 數據倉庫 » linuxmysql定時備份資料庫備份
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

linuxmysql定時備份資料庫備份

發布時間: 2023-02-02 18:53:16

A. Linux 怎麼shell腳本定時備份mysql資料庫

每天定時備份mysql資料庫任務,刪除指定天數前的數據,保留指定天的數據;
需求:
1,每天4點備份mysql數據;
2,為節省空間,刪除超過3個月的所有備份數據;
3,刪除超過7天的備份數據,保留3個月里的
10號
20號
30號的備份數據;
#創建shell文件
vim
backup_mysql.sh
mysqlmp
-uroot
-p123456
--all-databases
>
/data/dbdata/mysqlbak/`date
+%Y%m%d`.sql
find
/data/dbdata/mysqlbak/
-mtime
+7
-name
'*[1-9].sql'
-exec
rm
-rf
{}
\;
find
/data/dbdata/mysqlbak/
-mtime
+92
-name
'*.sql'
-exec
rm
-rf
{}
\;
#創建定時任務
crontab
–e
0
4
*
*
*
/data/dbdata/backup_mysql.sh

B. Linux下mysql資料庫如何定期備份與刪除

首先,創建備份文件夾mkdir /mysql/mysqldata_bakeup;創建並編輯文件在路徑 /usr/sbin/bakmysql,命令:vi /usr/sbin/bakmysql。此時會在/usr/sbin/路徑下創建bakmysql文件,並進入bakmysql編輯狀態,接著輸入;fn = ` date +%Y%m%d ` tar zcvf /mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data 然後修改文件bakmysql屬性,使其可執行chmod +x /usr/sbin/bakmysql 修改/etc/crontab vi /etc/crontab 進入編輯狀態,在最下面添加:01 3 * * * root /usr/sbin/bakmysql
01 3 是每天凌晨3:01執行 bakmysql文件;懂了嗎?

C. linux下mysql如何實現每天自動備份

首先建立一個備份文件夾:mkdir
mysql_data_bak在建立一個腳本文件:touch
autobackupmysql.sh打開文件vi
autobackupmysql.sh在腳本中加入如下內容:filename=`date
+%Y%m%d`/usr/bin/mysqlmp
-uroot
-proot
boss
/home/mysql_data_bak/$filename.sql檢查有沒安裝crond,如果沒有,先安裝yum
-y
install
vixie-cronyum
-y
install
crontabs啟動服務
:service
crond
start在CentOS系統中加入開機自動啟動:
chkconfig
--level
345
crond
oncrontab
-e加入內容:00
03
*
*
*
source
/root/autobackupmysql.sh
每天凌晨3點運行此文件,對資料庫進行備份
service
crond
restart到此linux下mysql實現沒天自動備份完成。

D. linux伺服器操作系統,怎麼實現定時備份資料庫

linux系統下使用腳本定時備份資料庫,代碼如下:

#!/bin/bash
#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是mysqlmp,還可以是mysqlmp,mysqldot,如果注釋掉第
#18行,則默認以tag的方式備份
#默認情況下,用root(空)登錄mysql資料庫,備份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#SettingEnd
NewFile="$BackupPath"db$(date+%y%m%d).tgz
DumpFile="$BackupPath"db$(date+%y%m%d)
OldFile="$BackupPath"db$(date+%y%m%d--date='5daysago').tgz
echo"-------------------------------------------">>$LogFile
echo$(date+"%y-%m-%d%H:%M:%S")>>$LogFile
echo"--------------------------">>$LogFile
#DeleteOldFile
if[-f$OldFile]
then
rm-f$OldFile>>$LogFile2>&1
echo"[$OldFile]DeleteOldFileSuccess!">>$LogFile
else
echo"[$OldFile]NoOldBackupFile!">>$LogFile
fi
if[-f$NewFile]
then
echo"[$NewFile]TheBackupFileisexists,Can』tBackup!">>$LogFile
else
case$BackupMethodin
mysqlmp*)
if[-z$DBPasswd]
then
mysqlmp-u$DBUser--opt$DBName>$DumpFile
else
mysqlmp-u$DBUser-p$DBPasswd--opt$DBName>$DumpFile
fi
tarczvf$NewFile$DumpFile>>$LogFile2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
rm-rf$DumpFile
;;
mysqlhot*)
rm-rf$DumpFile
mkdir$DumpFile
if[-z$DBPasswd]
then
mysqlhot-u$DBUser$DBName$DumpFile>>$LogFile2>&1
else
mysqlhot-u$DBUser-p$DBPasswd$DBName$DumpFile>>$LogFile2>&1
fi
tarczvf$NewFile$DumpFile>>$LogFile2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
rm-rf$DumpFile
;;
*)
/etc/init.d/mysqldstop>/dev/null2>&1
tarczvf$NewFile$DBPath>>$LogFile2>&1
/etc/init.d/mysqldstart>/dev/null2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
;;
esac
fi
echo"-------------------------------------------"
echo
#lftp-flftp.sh如果有FTP可同時上傳ftp中。

再利用crontab命令生成/var/spool/cron/root 文件:

#crontab–e
//打開一個編輯窗口,第一行會有內容格式的提示,在此輸入命令
//mhdommondowcommand
//具體意義表示:分鍾小時日期月份星期命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command)
//如:1002***/home/backup/autobackupmysql.sh(表示零晨二點十分執行備份腳本)

E. linux下定時備份Mysql

你的root沒有密碼嗎?

建議使用crontab+shell腳本來備份

#!/bin/bash
#
#Date:2014-9-25
USER=
PASSWORD=
DATABASE=
DIR=
DATE=`date'+%Y\%m\%d-%H:%M'`
DATE1=`date-dlast-month'+%Y\%m\%d-%H:%M'`
HOST=
LOG=/root/mysqlbk.log
COM=mysqlmp
DEL=$DATE1.sql
OPT="-h$HOST-u$USER-p$PASSWORD$DATABASE"
$COM$OPT>$DIR/$DATE.sql
if[$?-eq0]
then
SIZE=`-h$DIR/$DATE.sql|awk'{print$1}'`

rm-f$DIR/$DEL

echo"$DATE$SIZEMysqlbackupsuccessfully$DELwasremoved">>$LOG
else
echo"$DATEMysqlbackupfailed">>$LOG
fi


這是我自己寫的一個備份腳本,USER DATABASE 這是mysql的用戶名和密碼 DIR是備份的路徑

HOST是要備份的mysql的ip地址 我這里是遠程備份,如果你的是本地備份的話,可以把HOST給去掉,然後去掉OPT中 -h $HOST ,如果沒有密碼 就把PASSWORD去掉,還有OPT中的-p 選項以及$PASSWORD , if語句是判斷腳本是否執行成功 好吧 如果有什麼不明白的再問我吧