linux備份文件夾命令
❶ 如何在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
#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
;;
mysqlhot*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -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 (表示零晨二點十分執行備份腳本)
❷ Linux如何備份文件夾常用命令有哪些
linux備份文件夾的命令是什麼?在Linux操作系統中,可用於備份文件夾的命令有兩個:cp命令、mp命令,本文為大家詳細介紹一下這兩個命令,希望能夠給你們帶來幫助。
1、mp命令
Linux mp命令用於備份文件系統。
mp為備份工具程序,可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
語法:
mp[-cnu][-0123456789][-b
<區塊大小>][-B<區塊數目>][-d<密度>][-f<設備名稱>][-h<層級>][-s<磁帶長度>][-T<日期>][目錄或文件系統]或mp[-wW]
參數:
-0123456789 備份的層級
-b<區塊大小> 指定區塊的大小,單位為KB
-B<區塊數目> 指定備份卷冊的區塊數目
-c 修改備份磁帶預設的密度與容量
-d<密度> 設置磁帶的密度,單位為BPI
-f<設備名稱> 指定備份設備
-h<層級> 當備份層級等於或大於指定的層級時,將不備份用戶標示為nomp的文件
-n 當備份工作需要管理員介入時,向所有operator群組中的使用者發出通知
-s<磁帶長度> 備份磁帶的長度,單位為英尺
-T<日期> 指定開始備份的時間與日期
-u 備份完畢後,在/etc/mpdates中記錄備份的文件系統,層級,日期與時間等
-w 與-W類似,但僅顯示需要備份的文件
-W 顯示需要備份的文件及其最後一次備份的層級,時間與日期。
2、cp命令
Linux cp命令主要用於復制文件或目錄。
語法:
①cp [options] source dest
②cp [options] source... directory
參數:
-a 此選項通常在復制目錄時使用,它保留鏈接、文件屬性,並復制目錄下的所有內容,其作用等於dpR參數組合
-d 復制時保留鏈接,這里所說的鏈接相當於Windows系統中的快捷方式
-f 覆蓋已經存在的目標文件而不給出提示
-i 與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答y時目標文件將被覆蓋
-p 除復制文件的內容外,還把修改時間和訪問許可權也復制到新文件中
-r 若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件
-l 不復制文件,只是生成鏈接文件。
❸ linux下備份一個目錄下所有文件及目錄,應該用什麼命令
1、bzip2 filename
//文件即會被壓縮,並被保存為 filename.bz2。
2、gzip filename
//文件即會被壓縮,並被保存為 filename.gz
3、tar 這個命令把大量的文件和目錄打包成一個文件
-c 創建一個新歸檔
-f 當與-c 選項一起使用時,創建的tar 文件使用該選項指定的文件名;當與-x選項一起使用時,則解除該選項指定的歸檔
-t 顯示包括在tar 文件中的文件列表
-v 顯示文件的歸檔進度
-x 從歸檔中抽取文件
-z 使用gzip壓縮tar 文件
-j鋒乎 使用bzip2壓縮tar 文件
(3)linux備份文件夾命令擴展閱讀:
要創建一個使用tar和bzip2來歸檔壓縮的文件,使用-j選項: tar -cjvf filename.tbz file
如果使用bunzip2 命令解壓filename.tbz文件,則filename.tbz會被刪肢正除,以filename.tar代替。
要歷基悔擴展並解除歸檔bzip.tar文件,輸入命令: tar -xjvf filename.tbz
要創建一個用tar 和gzip歸檔並壓縮的文件,使用-z選項: tar -czvf filename.tgz file
如果使用gunzip 命令解壓filename.tgz文件,則filename.tgz會被刪除,以filename.tar代替。
❹ linux怎麼備份資料庫(linux如何備份mysql資料庫)
一、使用mysql相關命令進行簡單的本地備份
1mysqllmp命令
mysqlmp是採用SQL級別的備份機制,它將數據表導成SQL腳本文件,在不同的MySQL版本之間升級時相對比較合適,這也是最常用的備份方法。
使用mysqlmp進行備份非常簡單,如果要備份資料庫」db_backup」,使用命令:
#mysqlmp_u-pphpbb_db_backup
還可以使用gzip命令對備份文件進行壓縮:
#mysqlmpdb_backup|gzip
只備份一些頻繁更新的資料庫表中盯李:
##mysqlmpsample_dbarticlescommentslinks
上面則啟的命令會備份articles,comments,和links三個表。
恢復數據使用命令:
#mysql_u-pdb_backup
注意使用這個命令時必須保證資料庫正在運行。
2使用SOURCE語法
其實這不是標準的SQL語法,而是mysql客戶端提供的功能,例如:
#SOURCE/tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是mysqld運行用戶(例如nobody)有許可權讀取的文件。
3備份
只能用於備份MyISAM,並且只能運行在linux和Unix和NetWare系統上。支持一次性拷貝多個資料庫,同時還支持正則表達。以下是幾個例子:
#-h=localhost-u=goodcjh-p=goodcjhdb_name/tmp
(把資料庫目錄db_name拷貝到/tmp下)
注意,想要使用,必須賣遲要有SELECT、RELOAD(要執行FLUSHTABLES)許可權,並且還必須要能夠有讀取datadir/db_name目錄的許可權。
還原資料庫方法:
備份出來的是整個資料庫目錄,使用時可以直接拷貝到mysqld指定的目錄(在這里是/usr/local/mysql/data/)目錄下即可,同時要注意許可權的問題,另外首先應當刪除資料庫舊副本如下例:
#/bin/rm-rf/mysql-backup/**//*old
關閉mysql伺服器、復制文件、查詢啟動mysql伺服器的三個步驟:
#/etc/init.d/mysqldstop
StoppingMySQL:[OK]
#cp-af/mysql-backup/**//*/var/lib/mysql/
#/etc/init.d/mysqldstart
StartingMySQL:[OK]
#chown-Rnobody: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/sunky192.168.1.4(rw)
/export/home/sunky1*(rw)
/export/home/sunky2linux-client(rw)
❺ linux系統怎麼做整個系統備份還原
1.備份
a)可以直接通過tar對整個文件系統(』/『)進行備份,但是有幾點需要注意:
i. 不能備份以下幾個文件(目錄)
當前壓縮文件
/proc文件夾
/lost+found文件夾
/mnt文件夾
/sys文件夾
/media文件夾
b)所以,命令為:
tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media/
2.還原
a) Linux可以再正在遠行的系統中還原系統,如果當前啟動無法啟動,可以通過live cd來啟動並執行恢復操作
b) 操作如下
tar xvpfz backup.tar.gz -C /
c) 需要額外創建目錄
i. mkdir proc
ii. mkdir lost+found
iii. mkdir mnt
iv. mkdir sys