先記起來以後再整理



http://kawsing.blogspot.com/2011/05/ssh-rsync.html

備份

root@LianHung:/home/liaozi# crontab -l
0 17 * * * /home/liaozi/backup.sh
root@LianHung:/home/liaozi# cat /home/liaozi/backup.sh
day=`date +%Y-%m-%d`
basedir="/root/backup"
/opt/lampp/lampp stopmysql
cd /opt/lampp/var/
tar -zcf "$basedir"/mysql."$day".tar.gz mysql 2> /dev/null
/opt/lampp/lampp startmysql


  1. 先將網芳資料載掛,複製檔案後再卸載
smbmount //192.168.0.185/Desktop /home/lianhung/desktop/ -o guest,iocharset=utf8,codepage=cp950 cp -ru /home/lianhung/desktop/ /home/lianhung/liaozi/ umount /home/lianhung/desktop/

sync

#!/bin/sh
/usr/bin/rsync -avxE --delete /var/www/prebid/upload /home/rimmon/daily_backup

備份還原MBR及硬碟分割表

MBR
備份
dd if=/dev/hda of=backup-hda.mbr count=1 bs=5
還原
dd if=backup-hda.mbr of=/dev/hda
硬碟分割表
備份
sfdisk -d /dev/hda > backup-hda.sf
還原
sfdisk /dev/hda <>

復原 Windows MBR 的各種方式

玩 Linux 最常見的方式就是切 Partition 做多重開機, 讓 GRUB 寫入 MBR 做開機選單. 但是若不小心把 Linux Partition 刪掉了, 或是哪天不想玩 Linux 了, 想恢復為 Windows 單一作業環境的時候, 就得把 Windows Pre-Boot 程式寫回 MBR 的前 446 Bytes 喔!
方法一:使用 DOS / Win9x / ME 開機片開機
開機後在 MS-DOS 模式下執行 fdisk /mbr
重新啟動電腦即可

方法二:使用 Windows 2000 / XP 光碟片開機 (過程中需要 Administrator 密碼)
在 Welcome to Setup (歡迎使用安裝程式) 畫面中按 R 或 F10 進入「Windows 修復主控台」
進入主控台後, 輸入 fixmbr
重新啟動電腦即可
詳細操作過程請參考微軟官方網頁 - Windows XP 修復主控台的說明

方法三:使用 Linux 光碟片開機, 進入 Rescue 模式; 或用 KNOPPIX 之類的 Linux 作業系統開機 (過程中請啟用網路)
依序輸入以下指令恢復 Windows MBR
wget ftp://cha.homeip.net/ms.mbr -O /tmp/ms.mbr
dd if=/tmp/ms.mbr of=/dev/hda bs=446 count=1
exit (重開機時請移除光碟片)
  • 以上操作結果同 fdisk /mbr
  • 網路上流傳 dd if=/dev/zero of=/dev/hda bs=446 count=1 效果等同 fdisk /mbr 是錯誤的, 這樣只會清掉 MBR 的 Pre-Boot 內容而已.
  • 警告: 請勿於頭腦混沌、神智不清時使用 dd 指令; 使用時請特別注意數字是否正確!

方法四:什麼開機片都沒有, 但開機後還有 GRUB> 提示符號
依序輸入以下指令啟動 Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
boot
  • (hd0,0) 其中 hd0 表示 Primary IDE Master HDD, 0 表示第一個分割區, 請依實際狀況套用.
  • 注意: 這只是解決 Windows 的啟動問題而已, 仍要靠前三種方法的其中一種才能讓 MBR 恢復正常喔! 當然, Windows 開機後您也可以上網尋找其他的解決方案 :)

替換文字檔裡的某些文字

把filename裡utf8置換成big5
sed -i -e 's/utf8/big5/' filename
把資料夾中所有檔案有utf8置換成big5
sed -i -e 's/utf8/big5/' */*.*

對資料夾內所有的mp3進行批次轉檔

01.將空白改成_(因為lame轉檔時不能有空白)
for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done 2> /dev/null

02.轉檔;lame參數請自行設定
for i in *.mp3;do lame -b 128 $i;done

03.將轉換好的檔案改名字
for file in *.mp3.mp3; do mv `echo $file` `echo $file | sed 's/mp3.//g'`; done

假如有一堆資料夾要改的話可以這麼做(ps資料夾不能有空白)
ex:一層
mp3/xxx_xxx
mp3/xxx_xxx
for i in */*.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done 2> /dev/null
for i in */*.mp3;do lame -b 128 $i;done
for file in */*.mp3.mp3; do mv `echo $file` `echo $file | sed 's/mp3.//g'`; done

locale(調整語系)

執行 sudo locale-gen --purge zh_TW zh_TW.UTF-8 en_US.UTF-8 en_US
執行 locale -a
==>
C
en_US
en_US.utf8
POSIX
zh_TW
zh_TW.utf8

留言

熱門文章