導航:首頁 > IDC知識 > 伺服器linux系統備份

伺服器linux系統備份

發布時間:2020-10-21 13:56:06

1、linux 伺服器設置可以備份嗎

linux系統下使用腳本定時備份資料庫,代碼如下:
#!/bin/bash
#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是mysqlmp,還可以是mysqlmp,mysqldotcopy,如果注釋掉第
#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=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can』t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同時上傳ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打開一個編輯窗口,第一行會有內容格式的提示,在此輸入命令
//m h dom mon dow command
//具體意義表示:分鍾 小時 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二點十分執行備份腳本)

2、如何在Linux伺服器中備份

linux系統下使用腳本定時備份資料庫,代碼如下:
#!/bin/bash
#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是mysqlmp,還可以是mysqlmp,mysqldotcopy,如果注釋掉第
#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=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can』t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同時上傳ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打開一個編輯窗口,第一行會有內容格式的提示,在此輸入命令
//m h dom mon dow command
//具體意義表示:分鍾 小時 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二點十分執行備份腳本)

3、如何在Linux伺服器中備份 數據

寫個腳本不得了 在crontab定時一下

tar zcvf /文件存放路徑/webpage.tar.gz / 頁面路徑/
mysqlmp -uroot -p(p後緊跟密碼) 庫名字 >/備份存放路徑/data.sql
chmod 777 你的腳本
然後crontab -e 每天 凌晨一點備份 裡面就寫

* 1 * * * /你的腳本路徑/backup.sh

夠詳細了 也夠入門了 命令夠少的了 效果實現了 很簡單吧 給分吧

4、linux下伺服器整體備份方案

如果文件的量不大,其實可以使用光儲存來進行備份,一般只需要備份/root、/home目錄和/var目錄的文件,直接刻在光碟上保存就行,如果出現了什麼系統問題,只要重裝系統時選擇安裝的軟體和上次一樣,再把這些目錄在root用戶下覆蓋即可回復原裝。可以使用可擦寫盤,保管妥善時,兩張盤可以使用一年。
如果是大量大文件,推薦使用RAID的硬碟組合,使用Ext2/3文件系統加上RAID能防止數據丟失,如果發現丟失,80%以上可以恢復(如果不是壞超過一半硬碟,則基本可以全部恢復。)當然也可以根據實際情況選擇硬碟備份或者磁帶備份。

同時還有一種增量備份方式,就是第一次把所有的文件全備份了,然後每次只備份更改的文件,這樣需要的勞動小,但是要求每一環都不能出問題。

詳情可以在http://www.cnfavor.cn進行查找和咨詢

5、linux伺服器的資料怎麼備份

可攜性——備份的可攜性(亦即.從一個Linux發行版本或應用Unix備份然後回存到另外一個;例如從Solaris到RedHatLinux)對您而言是否重要?如果是,可能想要選擇一個命令列的工具(亦即.「dd」,「mp」,「cpio」,或「tar」),因為您可以相當地確定該工具可以在另一個*nix系統上找到。
無人或自動備份——定期自動進行備份而不需人力介入之能力,對您而言是否重要?如果是,您可能需要能支援該方案的工具及備份媒體。
使用者友善——商業的應用程式可以提供最簡便的介面及技術支援。
遠端備份-從遠端機器進行備份及回存的能力,可能想要選擇命令列或文字模式的工具而不是圖形介面(除非您有相當快的網路連結及執行遠端Xsessions的能力)。
網路備份——從網路主機進行備份及回存,可能要用一些支援從網路存取備份設備的命令列工具(像是「tar」),或是專用工具程式例如「Amanda」或是一些商業工具程式。
媒體型態——備份可以儲存在很多不同的媒體,像是磁帶,外接式硬碟,ZIP磁碟,或可讀寫CD。考慮售價及可靠性,儲存容量,及傳送速度。

6、請問:在linux系統設置定時任務,每天自動從遠程伺服器備份文件到本地伺服器中,該怎麼弄?

提供思路:

設置ssh密匙免密登陸

利用scp 傳輸文件

添加定時任務 crontab

希望可以幫助你請採納 謝謝

7、linux怎麼備份資料庫

一、 使用mysql相關命令進行簡單的本地備份

1 mysqllmp命令

mysqlmp 是採用SQL級別的備份機制,它將數據表導成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。

使用 mysqlmp進行備份非常簡單,如果要備份資料庫」 db_backup 」,使用命令:
#mysqlmp –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6.sql
還可以使用gzip命令對備份文件進行壓縮:
#mysqlmp db_backup | gzip > /usr/backups/mysql/ db_backup2008-1-6.sql.gz (備份後生成的sql不含建庫語句!)
只備份一些頻繁更新的資料庫表:
## mysqlmp sample_db articles comments links > /usr/backups/mysql/sample_db.art_comm_lin.2008-1-6.sql
上面的命令會備份articles, comments, 和links 三個表。

恢復數據使用命令:
#mysql –u -p db_backup </usr/backups/mysql/ db_backup2008-1-6.sql
注意使用這個命令時必須保證資料庫正在運行。

2 使用 SOURCE 語法

其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
# SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有許可權讀取的文件。

3 mysqlhotcopy備份

mysqlhotcopy 只能用於備份 MyISAM,並且只能運行在 linux 和Unix 和 NetWare 系統上。mysqlhotcopy 支持一次性拷貝多個資料庫,同時還支持正則表達。以下是幾個例子:
#mysqlhotcopy -h=localhost -u=goodcjh -p=goodcjh db_name /tmp
(把資料庫目錄 db_name 拷貝到 /tmp 下)
注意,想要使用 mysqlhotcopy,必須要有 SELECT、RELOAD(要執行 FLUSH TABLES) 許可權,並且還必須要能夠有讀取 datadir/db_name 目錄的許可權。

還原資料庫方法:

mysqlhotcopy 備份出來的是整個資料庫目錄,使用時可以直接拷貝到 mysqld 指定的 目錄 (在這里是 /usr/local/mysql/data/)目錄下即可,同時要注意許可權的問題,另外首先應當刪除資料庫舊副本如下例:

# /bin/rm -rf /mysql-backup/**//*old
關閉mysql 伺服器、復制文件、查詢啟動mysql伺服器的三個步驟:
# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
# cp -af /mysql-backup/**//* /var/lib/mysql /
# /etc/init.d/mysqld start
Starting MySQL: [ OK ]
#chown -R nobody:nobody /usr/local/mysql/data/ (將 db_name 目錄的屬主改成 mysqld 運行用戶)
二、使用網路備份

將MYSQL數據放在一台計算機上是不安全的,所以應當把數據備份到區域網中其他Linux計算機中。假設Mysql伺服器IP地址是:192.168.1.3。區域網使用Linux的遠程計算機IP地址是192.168.1.4;類似於windows的網路共享,UNIX(Linux)系統也有自己的網路共享,那就是NFS(網路文件系統),在linux客戶端掛接(mount)NFS磁碟共享之前,必須先配置好NFS服務端。linux系統NFS服務端配置方法如下:

(1)修改 /etc/exports,增加共享目錄
/export/home/sunky 192.168.1.4(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)

8、linux伺服器如何做備份?

你可以用FTP。這個肯定免費,你需要的只是一個腳本,讓備份伺服器定時從主伺服器裡面提取固定的東西。你可以在需要備份的時候開啟ftp或者定時開啟。也可以由備份伺服器請求開啟。

=========

剛看到,你寫的是即時備份。這個不現實。不可能做到同步。但可以將時差降低。linux下有rsync,可以實現遠程同步。可通過ssh來傳輸,保密性能很據說不錯。我沒試過。它可以用來同步目錄。完全同步。

9、如何在Linux伺服器上做備份和恢復(2)

您還需要了解如何存取適當的備份媒體 ; 雖然在 Unix 的世界中對待所有的裝置就像處理檔案一樣,如果您寫入到一個字元設備像是磁帶,「檔案」的名稱就是設備本身的名稱 (亦即. ``/dev/nst0'' 是一個SCSI介面的磁帶機)。
下面的指令會將您的整個 Linux 系統備份於 ``/archive/'' 檔案系統,除了 ``/proc/'' 偽裝檔案系統,``/mnt/'', ``/archive/'' 檔案系統 (沒必要備份我們的備份檔 !),還有 Squid 很大的快取資料檔 (是的,依我之見,浪費備份媒體而且不需要去備份)之外的任何已掛載的檔案系統 :
tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz
--directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid .
不要被上面的指令嚇到 ! 當我們將其分為兩部分,您將會發現這個強力工具之美。
上列的指令指定了選項 ``z'' (壓縮; 備份資料經由 ``gzip''壓縮), ``c'' (建立; 一個 archive 檔開始被建立),``v'' (verbose; 顯示出已經備份好的檔案), ``p'' (允許保存;保護的資料將會被 「記憶」 ,可以被回復)。``f'' (檔案) 選項後面接的是的要寫入的 archive 檔 (或裝置)名稱,注意包含資料的檔名是如何得到的,只要用兩個後引號將``date'' 指令圈起來。 一般的命名慣例是在未壓縮過的檔案後面加上 `` .tar'' ,壓縮的檔案加上 ``tar.gz'' ``--directory'' 選項告知 tar 在開始備份前首先跳到以下的檔案路徑 ( 在本例中是``/''目錄 )。 ``--exclude'' 選項告知 tar 不要備份所指定的檔案或目錄。最後, ``.'' 符號告知 tar 要備份目前目錄中的所有東西。
注意: 有一點很重要必須了解的就是 tar 的選項是大小寫不同的 ! 此外,大部分的選項可以用助記符號加以簡化(亦即. ``f''), 或者使用較易記憶的選項全名 (亦即. ``file'')。 助記符號前用一個``-'' 字元作為字首作為辨識,在全名的前面有兩個這種符號的字首。參考 「man」頁以得到更多有關使用 tar 的資訊。
另一個例子,這一次只有寫入指定的檔案系統 (和上一個除了例外全部寫入的例子相反) 到一台 SCSI 的磁帶機 :tar -cvpf /dev/nst0 --label="Backup set created on `date '+%d-%B-%Y'`." --directory / --exclude=var/spool/ etc home usr/local var/spool
在上面一行的選項,注意沒有用到 ``z'' (壓縮) 選項。我強烈建議反對寫入壓縮資料到磁帶上,因為如果磁帶上資料有一部份損壞,您會失去整個備份 ! 然而,未壓縮的儲存的 archive 檔具有很高的可恢復性,即使磁帶上的檔案有一部份損毀。
因為磁帶機是一個字元設備,沒有辦法指定一個確實的檔名。因此,指定給 tar 的檔名可簡化為裝置名稱,``/dev/nst0'',是在 SCSI 排匯上的第一個磁帶設備。
注意: ``/dev/nst0'' 設備在備份做好後不會回帶 ; 因此有可能將好幾組備份寫到同一磁帶。(您也可以選擇``/dev/st0''這個裝置,在這種情形磁帶在備份完後會自動回帶)
既然我們無法對一套備份指定檔名, ``--label'' 選項可以來寫進檔案本身一些有關這一套備份的資訊。
最後,只有包含在 ``/etc/'', ``/home/'', ``/usr/local'', 及 ``/var/spool/'' (除了 Squid 的 快取資料檔)會寫進磁帶。
當使用磁帶時,可以使用下列命令回帶,以及退出磁帶:
mt -f /dev/nst0 rewind
mt -f /dev/nst0 offline
小技巧: 您將會發現到當 archive 檔建立時,前面的``/'' (斜線) 符號會被 tar 去除。這是 tar 的預設操作模式, 這是故意用來保護您避免覆寫這些重要檔案的原先版本,以防萬一您不慎在重建過程中覆寫了不正確的檔案。
如果您真的不喜歡這個特性 (記住,這是特性!) 您可以指定 tar ``--absolute-paths'' 選項,這樣會保留前面的斜線。然而,我不建議這樣做,因為很危險 !
使用``KDat''備份: 如果您使用 KDE 桌面環境,我相信您會發現``KDat'' 公用程式不但強大而且對使用者很友善。此外,另一個好處是KDat 利用``tar'' 作為其備份 engine。因此,用 KDat 寫入的備份組不但可以用 KDat 讀取,也可以用 tar ! 這使得 KDat 成為在使用者友善及備份可攜性中很好的選擇。
小技巧: 即使您決定不使用也不安裝完整的 KDE 套件,如果您安裝了 Qt 函式館就仍然可以使用KDE。
要建立備份 profile,可以選擇從選單欄中「File」選項選擇「Create Backup Profile」 (或在「Backup Profiles」文件夾上按滑鼠右鍵,然後選擇 「Create Backup Profile」)。在右手邊的是 KDat 視窗,您可以改變各種設定,像是profile 名稱,archive 名稱, tar 選項, 以及其他的。單擊 「Help」 選單有關於這些設定的用途說明。
要指定哪些檔案應該包含在您的 backup profile, 在 ``/'' 目錄文件夾旁的核對圖示上敲一下左鍵。這會確定所有的檔案及這個目錄下所有東西都會備份。然後,在文件夾旁的小 ``+''符號上敲一下左鍵,資料夾會展開,顯示檔案及以下的目錄。您可以排除掉所不想備份的檔案;只要在您想排除的每一個檔案或目錄旁的核對符號上敲一下左鍵。

10、伺服器linux系統怎麼備份網站

最安全的備份方法是將他們紀錄於不同的媒體中,例如磁帶,抽取式硬碟,可寫式 cd .等。
進行一般的備份應該是負責任的系統管理者的最高優先考慮。雖然Linux是一個高度可靠的作業系統,系統失效仍然可能發生。可能因為硬體故障,電源中斷,或其他不可預料的問題。更常見的這些問題是來自人為的錯誤,不當的變動,甚至因為刪除重要的檔案。如果您負責管理系統上的用戶,一定可能常被要求重建因為不小心誤刪的檔案。
如果您進行一般備份,以每日為基礎較好(至少對更動頻繁的使用者檔案),您將會有助於減少檔案的損失,並且增加復原程度。最安全的備份方法是將他們紀錄於不同的媒體中,例如磁帶,抽取式硬碟,可寫式cd.等。然後將您的備份和您的Linux系統分開存放。有時候這可能並不實際——也許在您可以存放備份磁帶的地方沒有防火室!或是在第一優先的地點沒有辦法存取這樣的外部備份系統。雖然如此,仍然可以進行備份,只是會受到一點限制。伺服器備份程序進行Linux備份有幾種不同的方法,其中包括所有Linux發行版本中都有的命令列工具,例如「dd」,「mp」,「cpio」以及「tar」。其他還有文字型態工具,例如「Amanda」及「Taper」,這些是被設計來在備份及回存過程中加入更友善的使用者介面。當然也有圖形介面的工具,像是「KDat」。最後,還有商業化的備份工具,像是「BRU」和「PerfectBackup+」。這些備份計劃中任何之一都足以提供您寶貴資料的保護。

與伺服器linux系統備份相關的知識