Ⅰ linux把用戶目錄下的.c文件備份到bak文件夾中,命令怎麼寫
cp /home/name/*.c ./bak
Ⅱ linux系統如何備份
做法是:
1、在保存備份文件的目錄 xxx 下建立一個文件 backup.sh,其內容是:
tar -zcf bin.tar.gz /bin
tar -zcf boot.tar.gz /boot
tar -zcf dev.tar.gz /dev
tar -zcf etc.tar.gz /etc
tar -zcf lib32.tar.gz /lib32
tar -zcf lib64.tar.gz /lib64
tar -zcf lib.tar.gz /lib
tar -zcf opt.tar.gz /opt
tar -zcf sbin.tar.gz /sbin
tar -zcf selinux.tar.gz /selinux
tar -zcf srv.tar.gz /srv
tar -zcf var.tar.gz /var
tar -zcf usr.tar.gz /usr
2、在需要備份的時候進入到保存備份內容的目錄執行一次命令: sh backup.sh
3、在保消春存備份文件的目錄 xxx 下建立一個叫拿襲耐 restore.sh 的文件,其內容如下:
tar -zxf /mnt/xxx/bin.tar.gz
tar -zxf /mnt/xxx/boot.tar.gz
tar -zxf /mnt/xxx/dev.tar.gz
tar -zxf /mnt/xxx/etc.tar.gz
tar -zxf /mnt/xxx/lib32.tar.gz
tar -zxf /mnt/xxx/lib64.tar.gz
tar -zxf /mnt/xxx/lib.tar.gz
tar -zxf /mnt/xxx/opt.tar.gz
tar -zxf /mnt/xxx/sbin.tar.gz
tar -zxf /mnt/xxx/selinux.tar.gz
tar -zxf /mnt/xxx/srv.tar.gz
tar -zxf /mnt/xxx/var.tar.gz
tar -zxf /mnt/xxx/usr.tar.gz
4、如果需要系統恢復,我就禪亮用光碟啟動,mount 原來的根目錄為 yyy,接著 mount 保存備份文件的目錄為 xxx,接著進入到 /mnt/yyy,並在此下達命令: sh /mnt/xxx/restore.sh
Ⅲ LINUX下備份文件的命令,同時寫入日誌
可以考慮使用rsync
rsync -zval /volume1/a /volume1/b --log-file=FILE --backup --backup-dir=/volume1/bak
Ⅳ 在linux裡面怎麼將當前目錄下的文件全部重命名成,bak文件並放在另個一目錄下的呢
mkdir t31415 #建立目標目來錄
for file in *;do
if [ -f "$file" ];then
cp $file ./t31415/${file}.bak
fi
done
例如將以上內容保存為自文本文件,如test.sh,然後拷貝到備份文件所在目錄,在shell中執行bash test.sh。要備份的文件將被拷貝到子目錄t31415下。沒有壓縮,只是拷貝,cp也可改用zip或rar等壓縮命令。
Ⅳ linux下如何備份一個目錄下指定的一部分文件,求強人幫忙說下,急啊!!
可以創建一個自動運行腳本
1、比如每天產生一個/data/access.log這樣的文件,我們每天備份到backup目錄的access_2011-01-12.log.gz這樣的文件。
2、增加計劃任務
export EDITOR=vi
crontab -e
0 0 * * * /data/bak.sh;
3、bak.sh文件內容如下:
cat /data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date +%Y%m%d`.log
# tar everyday
#echo "begining of tar"
tar zcf $bak_dir/$bak_file.gz $logs_dir/access.log
# clear bak_file
#echo "clearing file.log"
find $bak_dir -mtime +7 -exec rm -rf {} \;
#end
Ⅵ linux 登錄mysql 後 怎麼備份
用命令實現備份
MySQLl提供了一個mysqlmp命令,我們可以用它進行數據備份。
按提示輸入密碼,這就把tm資料庫所有的表結構和# mysqlmp -u root -p tm > tm_050519.sql數據備份到tm_050519.sql了,因為要總進行備份工作,如果數據量大會佔用很大空間,這時可以利用gzip壓縮數據,命令如下:
# mysqlmp -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣恢復數據:
# mysqlmp -u root -p tm < tm_050519.sql
從壓縮文件直接恢復:
#gzip < tm_050519.sql.gz | mysqlmp -u root -p tm
當然,有很多MySQL工具提供更直觀的備份恢復功能,比如用phpMyAdmin就很方便。但我認為,mysqlmp是最基本、最通用的。
二、利用crontab,系統每天定時備份mysql資料庫
利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到敏悄備份的目的。
1、創建保存備份文件的路徑/var/backup/mysqlbak
# mkdir -p /var/backup/mysqlbak
2、創建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql.sh
#!/bin/bash
# mysql備份腳本
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"`
mkdir -p $dateDIR/data
for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases"橋帶渣 |
grep -v "Database" | grep -v "information_schema"`
do
/usr/local/www/mysql/bin/mysqlmp -uroot -plin31415926 $i |
gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
3、修改文件屬性,使其可執行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
# crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
#表示行正每天3點鍾執行備份
這樣每天就可以在/var/backup/mysqlbak下看到備份的sql文件 了!
Ⅶ 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 文件
(7)linux備份文件命令bak擴展閱讀:
要創建一個使用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文件備份
1.Linux系統需要備份的數據
/root/目錄:
/home/目錄:
/var/spool/mail/目錄:
/etc/目錄:
其他目錄:
數據備份的原則: 不要把雞蛋放在同一個籃子里
2.安裝服務的數據
apache需要備份的數據
配置文件
網頁主目錄
日誌文件
mysql需要備份的數據
源碼包安裝的mysql:/usr/local/mysqld/data/
RPM包安裝的mysql:/var/lib/mysql/
3.備份策略
完全備份: 完全備份就是指把所有需要備份的數據全部備份,當然完全備份可以備份整塊硬碟,整個分區或某個具體的記錄(需要更大的硬碟空間和時間)
增量備份: 第一天完全備份,第二天備份當天新增數據,第三天備份當天數據,即每次都是備份新增數據,每次備份後數據要進行壓縮(需要較小的硬碟空間恢復麻煩)
差異備份: 第一天完全備份,第二天備份當天新增數據,第三天備份相比原始備份新增數據,即每次都是備份與原始數據相比的新增數據(比完全備份需要的空間小一點,比增量備份恢復容易一點)
1.mp命令
mp [選項] 備份之後的文件名 原文件或目錄
選項
-level 就是我們說的0-9十個備份級別
-f 文件名 指定備份之後的文件名
-u 備份成功之後,把備份時間記錄在/etc/mpdates文件
-v 顯示備份過程中更多的輸出信息
-j 調用bzib庫壓縮備份文件,其實就是把備份文件壓縮為.bz2格式
-W 顯示允許被mp的分區的備份等級及備份時間
備份分區實例
mp -0uj -f /root/boot.bak.bz2 /boot/ 備份命令,先執行一次完全備份,並壓縮和更新備份時間
cat /etc/mpdates 查看備份時間文件
cp install.log /boot/ 復制日誌文件到boot分區
mp -luj -f /root/boot.bak1.bz2 增量備份/boot分區,並壓縮
mp -W 查詢分區的備份時間及備份級別的
備份文件或目錄實例
mp -0j /root/etc.mp.bz2 /etc/ 完全備份/etc/目錄,只能使用0級別進行完全備份,而不再支持增量備份
注意: mp只能針對分區做增量備份,對文件或目錄不能進行增量備份
2.restore命令
restore [模式選項] [選項]
模式選項:restore命令常用的模式有一下四種,這四個模式不能混用
-C 比較備份數據和實際數據的變化
-i 進入交互模式,手工選擇需要恢復的文件
-t 查看模式,用於查看備份文件中擁有哪些數據
-r 還原模式,用於數據還原
選項
-f 指定備份文件的文件名
比較備份數據和實際數據的變化
mv /boot/vmlinuz-2.3.32--279.el6.i686 /boot/vmlinuz-2.6.32-279.el6.i686.bak
把boot目錄中內核鏡像文件改個名字
restore -C -f /root/boot.bak.bz2
restore發現內核鏡像文件丟失
查看模式
restore -t -f boot.bak.bz2
還原模式
還原boot.bak.bz2分區備份
mkdir boot.test
cd boot.test/
先還原完全備份的數據
restore -r -f /root/boot.bak.bz2
再恢復增量備份的數據
restore -r -f /root/boot.bak1.bz2
還原/etc/目錄的備份etc.mp.bz2
restore -r -f etc.mp.bz2
還原etc.mp.bz2備份
Ⅸ Linux mp命令
mp命令用於備份ext2或者ext3文件系統。可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
命令格式:mp [選項] [參數] 需要備份的文件
常用選項即參數:
-[0-9]:備份的層級
-f 設備名稱:指定備份設備;
-u:備份完畢後,在/etc/mpdates中記錄備份的文件系統、層級、日期與時間等
用法示例:
將/home目錄所有內容備份到/tmp/homeback.bak文件中,備份層級為0並在/etc/mpdates中記錄相關信息:
$ mp -0u -f /tmp/homeback.bak /home 將/home目錄所有內容備份到/tmp/homeback.bak文件中,備份層級為1(只備份上次使用層次0備份後發生過改變的數據)並在/etc/mpdates中記錄相關信息:
$ mp -1u -f /tmp/homeback.bak /home 通過mp命令的備份層級,可實現完整+增量備份、完整+差異備份,在配合crontab可以實現無人值守備份。
Ⅹ linux下備份一個目錄下所有文件及目錄,應該用什麼命令
這里教大家如何用find、xargs和tar命令完成上面的功能。
建立一個測試環境,新建幾個文件
# cd /tmp
# mkdir test
# cd test
# touch a.php b.js c.css 1.png
# ls
1.png a.php b.js c.css
接下來,通過find命令找出指定後綴的文件,為了支持多個後綴文件,find命令用到了正則匹配
# find . -type f -regex ".*.(php|js|css)"
./b.js
./a.php
./c.css
-regex後面的參數看起來很復雜,其實很簡單,我來做個解釋,雙引號就不需要解釋了吧
.*.(php|js|css) 簡化一下就是.*.(php|js|css),其實就是對.()|做了下轉義而已,開頭的.*匹配除換行符外的任意字元(這個懂正則表達式的應該都明白)
找出文件後,就是如何備份這些文件了,tar需要指定源文件,怎麼獲取find出來的這些文件,並傳給tar呢,xargs的作用就來了。看到下面xargs輸出的是什麼了吧,這個正是tar需要的。
# find . -type f -regex ".*.(php|js|css)" | xargs
./b.js ./a.php ./c.css
# find . -type f -regex ".*.(php|js|css)" | xargs tar czvf test.tar.gz
./b.js
./a.php
./c.css
下面看看文件是否備份成功了
# tar tzvf test.tar.gz
-rw-r--r-- root/root 0 2014-03-14 10:38 ./b.js
-rw-r--r-- root/root 0 2014-03-14 10:37 ./a.php
-rw-r--r-- root/root 0 2014-03-14 10:38 ./c.css