1. 程式人生 > >Linux下mysql資料庫定時備份並刪掉3天前的備份檔案

Linux下mysql資料庫定時備份並刪掉3天前的備份檔案

1.首先檢查下有沒有安裝crond,命令為service crond status,如果出現unrecognized service,則說明沒有安裝,如果出現    crond is stopped。如果出現crond (pid  1956) is running...則表示正在執行


2. 如果沒有安裝則使用命令yum install vixie-cron 進行安裝

3. 安裝成功後,接下來建立一個備份資料夾mysqlbackup,名字看你自己,建資料夾命令如下

    #cd /usr/local 進入指定資料夾下

    #mkdir mysqlbackup  建立資料夾

    #cd /usr/local/mysqlbackup

    #mkdir mysqldata

可以通過xftp看到剛建立的資料夾


4. 接下來開始寫指令碼執行檔案,在mysqlbackup目錄下新建一個sh檔案,命令為

   #vi  /usr/local/mysqlbackup/backupdata.sh

然後按i  進入編輯狀態,輸入如下指令碼:

#備份地址

    backupdir=/usr/local/mysqlbackup/mysqldata

#時間
    time=_` date +%Y_%m_%d_%H_%M_%S `
    #需要備份的資料庫名稱
    db_name=testdata
    #mysql 使用者名稱
    db_user=test
    #mysql 密碼
    db_pass=abcd1234
    mysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
    #刪除三天之前的備份檔案

    find $backupdir -name $db_name"*.sql.gz" -type f -mtime +3 -exec rm -rf {} \; > /dev/null 2>&1


編輯完後按 esc鍵退出,然後按 :wq儲存。

其中-mtime+1,表示刪除一天前的資料,-nmin+1,表示刪除1分鐘之前的資料

5. 新建一個執行檔案的配置檔案,用於註冊到crond中

#vi /usr/local/mysqlbackup/backupdata_config

和上一步一樣進入編輯狀態 編輯 0 0 * * * /usr/local/mysqlbackup/backupdata.sh

儲存,意思是每天凌晨備份檔案

6.新增排程任務

    crontab usr/local/mysqlbackup/backupdata_config

7 新增可執行許可權

   .chmod u+x backupdata.sh

檢視排程任務,#crontab -l。我定義的是每天22點執行備份計劃。


結束!

注意:如果備份時出現mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect的錯誤,修改正確的路徑即可

    1).找到正確的路徑 netstat -ln | grep mysql

            unix  2      [ ACC ]     STREAM     LISTENING     34394    /var/lib/mysql/mysql.sock

     2).在執行dump命令就可以了

        [[email protected]]# mysqldump --socket=/var/lib/mysql/mysql.sock -u root -p bcdata  vps_login_info > /usr/local/mysqlbackup/mysqldata/vps_login_info2018-06-25.sql


    3).也可以修改 my.cnf 檔案 新增[client]新增socket=/var/lib/mysql/mysql.sock

    4).或使用軟連線 ln -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock

相關推薦

Linuxmysql資料庫定時備份3備份檔案

1.首先檢查下有沒有安裝crond,命令為service crond status,如果出現unrecognized service,則說明沒有安裝,如果出現    crond is stopped。如果出現crond (pid  1956) is running...則表示

Linuxmysql資料庫自動定時備份

對於網遊來說,資料庫中的資料尤其重要,實際運營中通常會有DBA或者運維人員對資料庫中資料進行日常備份,防止伺服器宕機或硬碟損壞導致的資料丟失問題 1.建立備份目錄 cd /home/game mkdir backup cd backup2.建立備份shell指令碼 vi

Linux環境mysql資料庫定時備份

作為web後端開發,一直都是在windows系統上對mysql進行增刪改查的工作,對於如何備份以及在linux環境下如何定時備份一直都沒有深入的去了解過;這次正好藉著專案需求,研究一下。 1、mysql資料庫的備份命令:/usr/bin/mysqldump -uroot -

Linuxmysql資料庫每天自動備份定時備份

1、檢視磁碟空間情況:既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,資料丟失的惡果! 儲存到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的儲存介質;# df -h Filesys

Linux mysql定時備份

在實際專案中,資料庫是要經常備份的,就是為了防止突發情況,前段時間,我的資料庫就遭遇了入侵要支付B特比的,結果資料全沒了,哎,還好當時只是個測試庫,不過有了這次危機,也就開始意識到了這個問題了。 先寫個測試的資料庫備份命令: #!/bin/sh DB_USER="root" DB_PASS="123

32. linuxoracle資料庫定時備份

這裡以oradatabak.sh(裡面的內容要根據實際修改)指令碼放在/u01/11g/datapump下為例:   #1.新增指令碼執行許可權 chmod +x /u01/11g/datapump/oradatabak.sh #2.在oracle使用者下新增定時任務,每天晚上23點,以or

Linuxmysql資料庫的自動備份與還原 遠端備份和本地備份

Linux系統下Mysql備份還原 MySql的還原與備份 1 備份     mysqldump -u root -p shop > /home/andy/shop20150910.sql   

linux mysql資料庫備份和還原

#mysqldump db_name >/path/name.sql 上面的命令意思是把一個庫匯出到一個SQL檔案. 當然,你直接在有ROOT密碼的機子上執行以上命令一定會報錯.所以,請用 #mysqldump db_name >/path/na

Linuxmysql資料庫的多例項實現

準備環境: centos7 安裝 yum install mariadb-server 規劃實現多例項的目錄結構、 埠:3306,3307, 3308 每個例項存放資料庫的資料夾 /data/mysql{3306,3307,3308} /data/mysql/3306/{etc,

Linuxmysql資料庫安裝

Linux下mysql資料庫的安裝 本文主要介紹通過tar.gz進行資料庫的安裝,也可通過yum進行直接安裝 該筆記基於mysql5.5.61版本。 1、安裝mysql 1)、上傳mysql的tar包到/usr目錄下 2)、安裝mysql 解壓mysq

LinuxMySQL資料庫主從同步配置

Linux下MySQL資料庫主從同步配置 一.配置mysql主資料庫#172.30.65.122 mysql -u root-p#進入控制檯 create databasecesudb#建立資料庫測速db insert intomysql.user(Host,User,Pa

9、Linuxmysql資料庫安裝與配置實操

1、安裝 sudo yum -y install mysql-server 2、 sudo vim /etc/my.cnf 將字符集設定成UTF-8 3、將mysql設定為隨系統啟動 sudo chkconfig mysqld on sudo chkco

AWS LinuxMySQL資料庫的安裝與配置

1.root使用者登入Linux,使用yum 命令安裝MySQL,安裝完畢後,mysql 資料庫路徑在/var/lib/mysql ,配置檔案路徑為/etc/my.cnf sudo yum install mysql sudo yum install mysql-ser

LinuxMySQL資料庫操作的常用命令列

一.linux下啟動mysql的命令:             1. mysqladmin start           2. /ect/init.d/mysql start (前面為mysql的安

Linuxmysql資料庫一主一從同步配置

MySQL主從同步配置 mmj 16.09.29 1.確認執行環境 1.1確認主從IP 主伺服器(master):192.168.3.10 從伺服器(slave):192.168.3.18 1.2確認資料庫版本 都為5.5.31 2.主伺服器上配置 2.1修改MySQ

mysqlLinuxmysql資料庫顯示不全解決全過程

症狀:在mysql下,show databases,僅顯示兩個資料庫,而非全部的資料庫mysql>show databases;  +--------------------+  |Databas

windows遠端連結虛擬機器LinuxMySQL資料庫

這裡先說一下MySQL登陸:   格式: mysql -h主機地址 -u使用者名稱-p使用者密碼     1、例1:連線到本機上的MYSQL     找到mysql的安裝目錄,一般可以直接鍵入命令mysql -uroot -p,回車後提示你輸密碼,輸入密碼,直接回車即

Linuxmysql資料庫操作

本文轉自:點選開啟連結,感謝原文作者的耐心整理和無私分享。一.linux下啟動mysql的命令:   1. mysqladmin start          2. /ect/init.d/mysql start (前面為mysql的安裝路徑) 二.linux下重啟mysql

live555在arm linux的交叉編譯,下載的Arm板播放H264檔案

我的系統是ubuntu 11.10 1.live555原始碼 和 H264測試檔案下載 ,見如下連結 2.根據自己的交叉編譯器修改config.*(具體見下載檔案中的config.armeb-uclibc), 我的編譯器是buildroot-gcc342-----mi

用批處理檔案自動備份檔案及資料夾,自動刪除n檔案_DOS/BAT

下是備份的批處理,新增到”計劃任務”中,設定時間自動執行 程式碼如下: @echo off rem 格式化日期 rem date出來的日期是"2006-02-22 星期三",不能直接拿來使用,所以應該先格式化一下 rem 變成我們想要的。date