rsync 備份

rsync + ssh 可以做簡單又快速的備援,

做法很簡單:

  1. 先 gen key (參考 ssh-keygen)
  2. 查一下另一邊的 Server 是否有啟動 rsync 服務
  3. 如果沒啟動 => /etc/init.d/rsync start (或 /etc/default/rsync 設定開機啟動)
  4. 確認 Server 和 Client 都有 rsync (ssh session會自己執行rsync --server以便兩端算簽章
  5. 指令1 - 遠端 備份回 本端:

    rsync -avl --delete -e ssh server_hostname:/var/lib/mysql/ /backup/

  6. 指令2 - 本端 傳送到 遠端:

    rsync -avl --delete -e ssh /var/lib/mysql server_hostname:/backup/

這樣子就完成囉. 感謝 Mango 大大指導.

若要詳細的可見以下連結:

閱讀全文〈rsync 備份〉

ssh keygen 免輸入密碼

懶得打密碼, 以 key 做認證登錄.

步驟如下:

  • ssh-keygen -t rsa 或 ssh-keygen -d (dsa) => 產生出 id_rsa, id_rsa.pub
  • scp id_rsa.pub server_hostname:~/.ssh/
  • ssh server_hostname
  • cat .ssh/id_rsa.pub >> .ssh/authorized_keys 即可
  • 這樣子就可以 key 認證登入, 不需輸入密碼.

注意: gen 時會問 Enter passphrase (empty for no passphrase): # 此處直接 enter 跳過,下次才不會詢問password

簡單解說一下:

  • id_rsa: private key
  • id_rsa.pub: public key

將 public key(id_rsa.pub) 拷貝到遠端的電腦後, 加到那 user 的 .ssh/authorized_keys 中.

之後連線時, 就會用本機的 private key(id_rsa) 與遠端電腦的 public key(authorized_keys) 做認證, 確認完成就可以直接登入, 不需輸入帳號密碼, 而且也比較安全.

要關閉使用密碼登入, 只允許使用 Key 來做登入, 可修改此檔案的下述兩個參數: vim /etc/ssh/sshd_config

  • PubkeyAuthentication yes
  • PasswordAuthentication no

將 Key cp 並寫入 authorized_keys 的方式, 有下述幾種簡便的方法:

  1. cat .ssh/id_rsa.pub | ssh hostname 'cat >> .ssh/authorized_keys' # 缺點, 機器沒有 .ssh 目錄會有問題
  2. ssh-copy-id -i .ssh/id_rsa.pub hostname # 推薦
  3. ssh-copy-id -i hostname # 預設會用 .ssh/id_rsa.pub 或現在 ssh-agent 載入的 key

相關網頁

SHA1 編碼 使用

md5 已經能夠在很短的時間內被破解(MD5 Collision Source Code Released).

Jserv長輩 的測試: MD5 Collision

破解演算法: MD5 Collision Generation (作者宣稱 45 min 就能破解, 我是跑了 80 min 才破解... 🙁 )

破解程式 Source Code: md5coll.c

暫時先改用 sha1 演算法好了, sha1 使用上, 基本上跟 md5 還是都很像的. 只有一些些的差異.

  1. md5 是 128 bits(32 bytes), sha1 是 160 bits(40 bytes)
  2. md5檢測程式 md5sum, sha1 是 sha1sum
  3. php 的 md5 function 是 md5(), sha1 的是 sha1()

基本上差不多是一樣的意思.

閱讀全文〈SHA1 編碼 使用〉

專案管理厚黑學

意外間發現的一系列的文章,先留起來, 再找時間慢慢看...

以上, 再來和目前盛行的 義和團式的專案計劃 做比較看看... XD

閱讀全文〈專案管理厚黑學〉

義和團式的專案計劃

看了這篇文章, 真是感同身受, 我們大家都是義和團式的開發呀...

這篇文章寫的也蠻真實的, 在一個案子下來的同時, 要考量到的是老闆、業務端、合作夥伴、程式開發小組... 等等的人的共同合作, 但是常常到後來總是一環一環的逼迫, 然後把專案 Delay 當做是正常的事情... 唉....

更慘的是, 現在大家都把加班當作正常的事... 千萬不要認為加班是正常 又 應該的事情, 加班代表的是, 時間估算錯誤, 而此錯誤會造成公司更大的損失, 若員工加班的很晚, 那他隔天來的精神狀況若跟著變差, 做事效率也會降低, 事情做不完也做不好, 公司的成本也會跟著無止盡的增加.

現在當老闆的似乎都沒想過這種事情, 台灣是全世界加班加的最兇的國家, 不是沒有原因的....

原作者的 網站 還有更多不錯的文章, 都建議可以參考看看..

閱讀全文〈義和團式的專案計劃〉