拿 RAM 當硬碟來用(RAM Disk)

臨時想要做個 RAM Disk, 就去翻以前寫的文章, 發現以前的 Blog 寫的真的是很亂, 還是重新整理一下好了.

    1. 目前的作法如下:
  • 首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
  • mkdir /dev/shm/tmp
  • chmod 1777 /dev/shm/tmp
  • mount --bind /dev/shm/tmp /tmp
    1. 方法2:
  • mkdir /mnt/ramfs
  • vi /etc/fstab
  • none /mnt/ramfs tmpfs defaults 0 0
  • mount /mnt/ramfs
  • 這樣就可以用這個 ramfs 來放一些有的沒有的, 可 man mount, man fstab
    1. 方法3:
  • mount -t tmpfs -o size=200m none /mnt/tmpfs
  • 200m 是 200Mb 的意思, 詳情請看 man mount 裡的 tmpfs
    1. 方法4:
  • 設定 /etc/default/tmpfs default shm 大小(系統會自動用此值去當硬碟)
  • 設定 /etc/fstab: tmpfs /tmp tmpfs size=100m,mode=1777 0 0 設讓 RAM 掛 100Mb 在 /tmp
  1. 方法5:(我目前都用此方法)
    • 直接設定 vim /etc/fstab 寫入下面那行
    • tmpfs /tmp tmpfs size=100m,mode=1777 0 0
    • # 設讓 RAM 掛 100Mb 在 /tmp
    • 註:2022年 Ubuntu 預設這種設定會 mount 在 root 下,可以增加 UID來解決視窗都會跳出警告訊息的狀況
    • tmpfs /tmp tmpfs size=100m,mode=1777,uid=1000 0 0
  2. 其它方法: 可參見下面連結, "有趣的 tmpfs" 中, 有提供很多更好用的方法

參考文件:

閱讀全文〈拿 RAM 當硬碟來用(RAM Disk)〉

停止crontab的寄信通知

Crontab 在執行時, 只要營幕有任何標準輸出, 就會轉成信件寄出通知,初期要 Debug用時還不錯, 但是久了後就很煩, 就想把他丟到 /dev/null 或 改寄到其它地方去, 但是 /dev/null 丟了好多次都沒有用, 才發現到原來是少了 2>&1, 完整命令如下:

於設定時將標準輸出導到 /dev/null

0 * * * * script_name > /dev/null 2>&1

將信件改寄到其它地方, MATILTO="", (不過 "" 的話, 我不知道會寄到哪邊去)

於 Script 最前面加上 MAILTO=""

閱讀全文〈停止crontab的寄信通知〉

Red Hat Enterprise Linux編號意義

看 Redhat Enterprise 有一堆怪怪的編號: AS、ES...., 都看不懂是什麼意思, 查了一下,從 Red Hat Enterprise Linux 4 說明文件 中看到以下:

Red Hat Enterprise Linux 是開放原始碼運算環境中的最佳作業系統,產品線極為完整,從桌上型到資料中心都有:

  • Red Hat Enterprise Linux AS — 為高階與繁重任務的系統所設計
  • Red Hat Enterprise Linux ES — 為中小型伺服器所設計
  • Red Hat Enterprise Linux WS — 為技術 / 設計導向的工作站用戶所設計
  • Red Hat Desktop — 為安全、易管理的用戶端所設計

不過, 果然是誇大了不少, "產品線極為完整"... 就用過的感想 - 實在很難用.

閱讀全文〈Red Hat Enterprise Linux編號意義〉

MySQL Tools 可顯示修改 UTF-8(navicat)

一直在想找一個工具, 想要能直接修改 mysql 中 UTF-8 的資料, 用 phpMyAdmin 又太慢, 不想用, 總算找到了這一套 - navicat.

不過這是要付費的, 真想找到免費的...

Navicat 設定 UTF-8 顯示的設定方法:

Connection -> Advanced Settings -> Encoding -> 65001 UTF-8)

閱讀全文〈MySQL Tools 可顯示修改 UTF-8(navicat)〉

設定優先權(nice, renice)

程式要執行很久的話, 可以調一下優先權, 看能不能快點結束~

nice [-20 ~ 19] program (-20 是最高優先權, 19 是最低)

已經執行的程式, 可以用 renice 調整.

  • renice -19 PID # 優先權調高
  • renice 19 PID # 優先權降低

意外發現不錯的 Linux Commands 介紹的站(可以印出來, 有時後還蠻好用的)
LINUX NEWBIE ADMINISTRATOR GUIDE

閱讀全文〈設定優先權(nice, renice)〉

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 備份〉