架設一台NTP Server專門用來對外對時,區網內的再跟這台NTP Server對時,以達到時間一致及節省網路運用。
一、安裝
# cd /usr/ports/net/openntpd
# make install clean
接下來在 /etc/rc.conf 加入
openntpd_enable="YES"
設定一下 NTP Server 的參數,去編輯 /usr/local/etc/ntp.conf
listen on 192.168.1.1
server tick.stdtime.gov.tw
server tock.stdtime.gov.tw
server clock.stdtime.gov.tw
server watch.stdtime.gov.tw
server time.stdtime.gov.tw
server ntp.ntu.edu.tw
再修改 /etc/syslog.conf 加入下面這行,以方便我們看校正時的 Log
ntp.info /var/log/openntpd.log
當然別忘了要新增出 openntpd.log 這檔案出來
# touch /var/log/openntpd.log
好了之後就重新啟動 syslogd 這服務,並且也一起啟動 openntp
# /etc/rc.d/syslogd reload
# /usr/local/etc/rc.d/openntpd start
這樣 Server 的配置就完成了
而 FreeBSD Client 的部份僅需要在 ntp.conf 留一行 Server 的 IP 就好了,如下
server 192.168.1.1
參考來源:請點我
2010年10月18日 星期一
2010年8月3日 星期二
bin/tar: Ignoring unknown extended header keyword `SCHILY.'
If you get the following errors when trying to extract a tar file:
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
Then you'll likely need to update the version of gnu tar on the box that created the backups, and then create the backups again.
To update your version, you can either use your system's package system (if a new version is avaiable) or else compile the latest on your own, eg:
wget http://files.directadmin.com/services/all/tar-1.20.tar.gz
tar xvzf tar-1.20.tar.gz
cd tar-1.20
./configure
make
mv /bin/tar /bin/tar.old
cp src/tar /bin/tar
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
Then you'll likely need to update the version of gnu tar on the box that created the backups, and then create the backups again.
To update your version, you can either use your system's package system (if a new version is avaiable) or else compile the latest on your own, eg:
wget http://files.directadmin.com/services/all/tar-1.20.tar.gz
tar xvzf tar-1.20.tar.gz
cd tar-1.20
./configure
make
mv /bin/tar /bin/tar.old
cp src/tar /bin/tar
2010年7月15日 星期四
使用 logrotate 來管理及備份日誌檔
做為一個系統的管理者,時時注意日誌檔是一個非常重要的工作。而日誌檔的備份工作也是個非常重要的,那麼在 FreeBSD 中有無自動備份日誌檔的軟體呢?
我們可以使用 /usr/local/sysutils/logrotate 來達到這個目的..
● logrotate 工作原理說明
1. logrotate 是配合 cron 來使用
2. 一般是以 daily (每日)來執行,可將定時執行的程序放在 /etc/periodic/daily/ 或是使用 crontab 來做
3. 在 logrotate 中我們可設定 daily weekly 或是 monthly 的時間間隔(可視日誌檔的大小及性質來設定)
4. 一般在 FreeBSD 中,有些日誌檔是自動備份的,如
'console.log
'cron
'maillog
'messages
'wtmp
.....
有些則不會自動備份及壓縮,其中最大的可能就是 httpd-access.log 這個檔案了。以下我們就以這個檔案做說明
● 安裝 logrotate
# cd /usr/ports/sysutils/logrotate/
# make install
安裝後會產生以下檔案
1. /usr/local/sbin/logrotate 這個執行檔
2. /var/lib/ 這個目錄,在這個目錄中執行 logrotate 後會產生一個 logrotate.status 的報告檔案
3. logrotate 的 man file,你可用 man logrotate 來看相關用法
● 語法設定
logrotate [-f] logrotate.conf
=> -f 一般是在測試時使用,代表 force 的意思
=> logrotate.conf 代表其設定檔,這個一定要設定,檔名可自取,我們可在 /usr/local/etc/ 下設定這個檔案
● logrotate.conf 的設定說明
我們可將 logrotate.conf 放在 /usr/local/etc/ 目錄下,檔名取為 logrotate.conf 以利管理
一個典型的 logrotate.conf 如下:
errors root
compress
/var/log/httpd-access.log {
copytruncate
create 644 root wheel
weekly
rotate 7
uncompress
size=1000k
}
說明:
1. errors => 有錯誤時會 mail 一封信給 root
2. compress => 代表要使用 gzip 來壓縮
3. /var/log/http-access.log { .... } 代表一組設定
4. 在 {...} 外的表示內定值,如 compress 代表要透過 gzip 壓縮,但在 /var/log/httpd-access.log {....} 中,我們使用了 uncomress 則表示不壓縮 httpd-access.log 的備份檔
5. copytruncate => 先將日誌檔 copy 到另一個檔案儲存再清空
6. create ... => 產生一個新的 httpd-access.log 檔,644 root wheel 是這個檔案的權限設定
7. weekly 表示每個星期執行一次,另外尚有 daily 及 monthly 可用
8. rotate => 表示備份檔的數目,如 7 則最多會產生 1-7 個備份檔
9. uncompress => 不壓縮備份檔
10. size=1000k => 代表檔案大於 1000k 時就備份,另外也可使用 m
● 測試
# logrotate -f /usr/local/etc/logrotate.conf
過一會,應該會產生以下檔案
1. 在 /var/log/ 下產生 httpd-access.log.1
2. 新的(空的) httpd-access.log
3. 在 /var/lib/ 下產生一個 logrotate.ststus 的記錄檔
● 定時啟動你的 logrotate
1. 假設我們使用 /etc/periodic/daily/ (每日定時執行的設定目錄)
# cd /etc/periodic/daily
2. 編輯一個定時啟動的檔案及設定為可執行,假設檔名為 101.logrotate
# vi 101.logrotate
=> 加入以下內容並存檔
/usr/local/sbin/logrotate /usr/local/etc/logrotate.conf
=> 設為可執行
# chmod +x 101.logrotate
如此,以後只要時間一到 logrotate 就會自動備份你的日誌檔了..
我們可以使用 /usr/local/sysutils/logrotate 來達到這個目的..
● logrotate 工作原理說明
1. logrotate 是配合 cron 來使用
2. 一般是以 daily (每日)來執行,可將定時執行的程序放在 /etc/periodic/daily/ 或是使用 crontab 來做
3. 在 logrotate 中我們可設定 daily weekly 或是 monthly 的時間間隔(可視日誌檔的大小及性質來設定)
4. 一般在 FreeBSD 中,有些日誌檔是自動備份的,如
'console.log
'cron
'maillog
'messages
'wtmp
.....
有些則不會自動備份及壓縮,其中最大的可能就是 httpd-access.log 這個檔案了。以下我們就以這個檔案做說明
● 安裝 logrotate
# cd /usr/ports/sysutils/logrotate/
# make install
安裝後會產生以下檔案
1. /usr/local/sbin/logrotate 這個執行檔
2. /var/lib/ 這個目錄,在這個目錄中執行 logrotate 後會產生一個 logrotate.status 的報告檔案
3. logrotate 的 man file,你可用 man logrotate 來看相關用法
● 語法設定
logrotate [-f] logrotate.conf
=> -f 一般是在測試時使用,代表 force 的意思
=> logrotate.conf 代表其設定檔,這個一定要設定,檔名可自取,我們可在 /usr/local/etc/ 下設定這個檔案
● logrotate.conf 的設定說明
我們可將 logrotate.conf 放在 /usr/local/etc/ 目錄下,檔名取為 logrotate.conf 以利管理
一個典型的 logrotate.conf 如下:
errors root
compress
/var/log/httpd-access.log {
copytruncate
create 644 root wheel
weekly
rotate 7
uncompress
size=1000k
}
說明:
1. errors => 有錯誤時會 mail 一封信給 root
2. compress => 代表要使用 gzip 來壓縮
3. /var/log/http-access.log { .... } 代表一組設定
4. 在 {...} 外的表示內定值,如 compress 代表要透過 gzip 壓縮,但在 /var/log/httpd-access.log {....} 中,我們使用了 uncomress 則表示不壓縮 httpd-access.log 的備份檔
5. copytruncate => 先將日誌檔 copy 到另一個檔案儲存再清空
6. create ... => 產生一個新的 httpd-access.log 檔,644 root wheel 是這個檔案的權限設定
7. weekly 表示每個星期執行一次,另外尚有 daily 及 monthly 可用
8. rotate => 表示備份檔的數目,如 7 則最多會產生 1-7 個備份檔
9. uncompress => 不壓縮備份檔
10. size=1000k => 代表檔案大於 1000k 時就備份,另外也可使用 m
● 測試
# logrotate -f /usr/local/etc/logrotate.conf
過一會,應該會產生以下檔案
1. 在 /var/log/ 下產生 httpd-access.log.1
2. 新的(空的) httpd-access.log
3. 在 /var/lib/ 下產生一個 logrotate.ststus 的記錄檔
● 定時啟動你的 logrotate
1. 假設我們使用 /etc/periodic/daily/ (每日定時執行的設定目錄)
# cd /etc/periodic/daily
2. 編輯一個定時啟動的檔案及設定為可執行,假設檔名為 101.logrotate
# vi 101.logrotate
=> 加入以下內容並存檔
/usr/local/sbin/logrotate /usr/local/etc/logrotate.conf
=> 設為可執行
# chmod +x 101.logrotate
如此,以後只要時間一到 logrotate 就會自動備份你的日誌檔了..
2010年6月16日 星期三
2010年6月7日 星期一
FreeBSD主機校時與時區設定
# 時區設定:設定為臺灣地區。
tzsetup /usr/share/zoneinfo/Asia/Taipei
# 主機校時設定:
* 開機時,就校時乙次:
在 /etc/rc.conf 中加入:
ntpdate_enable="YES"
ntpdate_flags="clock.stdtime.gov.tw"
* 開機後,定時校時:
o crontab 簡介:
在 /etc/periodic/ 資料夾中有三個目錄:
drwxr-xr-x 2 root wheel 1024 10 Giu 21:34 daily
drwxr-xr-x 2 root wheel 512 10 Giu 21:34 monthly
drwxr-xr-x 2 root wheel 512 10 Giu 21:34 weekly
而 /etc/crontab 中亦已定義每日、每週、每月定時分別執行各該目錄下的程序檔案。
o 我選擇每月定時校時:
+ 編輯 /etc/periodic/monthly/190.ntpdate 檔,內容如下:
#!/bin/sh
echo
echo '主機校時:'
/usr/sbin/ntpdate clock.stdtime.gov.tw
+ chmod +x /etc/periodic/monthly/190.ntpdate
* 心血來潮時,手動校時。只有 root 才能做校時設定哦:
ntpdate clock.stdtime.gov.tw
# 修改日期、時間顯示格式:
* 用alias指令:
alias date="date '+%m-%d-%Y %H:%M:%S'"
# 備註:
* Windows 下,校時軟體:
http://www.stdtime.gov.tw/chinese/ntpclock1_21.exe
tzsetup /usr/share/zoneinfo/Asia/Taipei
# 主機校時設定:
* 開機時,就校時乙次:
在 /etc/rc.conf 中加入:
ntpdate_enable="YES"
ntpdate_flags="clock.stdtime.gov.tw"
* 開機後,定時校時:
o crontab 簡介:
在 /etc/periodic/ 資料夾中有三個目錄:
drwxr-xr-x 2 root wheel 1024 10 Giu 21:34 daily
drwxr-xr-x 2 root wheel 512 10 Giu 21:34 monthly
drwxr-xr-x 2 root wheel 512 10 Giu 21:34 weekly
而 /etc/crontab 中亦已定義每日、每週、每月定時分別執行各該目錄下的程序檔案。
o 我選擇每月定時校時:
+ 編輯 /etc/periodic/monthly/190.ntpdate 檔,內容如下:
#!/bin/sh
echo
echo '主機校時:'
/usr/sbin/ntpdate clock.stdtime.gov.tw
+ chmod +x /etc/periodic/monthly/190.ntpdate
* 心血來潮時,手動校時。只有 root 才能做校時設定哦:
ntpdate clock.stdtime.gov.tw
# 修改日期、時間顯示格式:
* 用alias指令:
alias date="date '+%m-%d-%Y %H:%M:%S'"
# 備註:
* Windows 下,校時軟體:
http://www.stdtime.gov.tw/chinese/ntpclock1_21.exe
2010年6月3日 星期四
FreeBSD 下的Crontab
FreeBSD 底下的Cron 會存在兩個地方
1、/etc/crontab
2、/var/cron/tabs 底下會根據每個人不同而產生不同的名稱。如:root有設了crontab,那底下就會產生一個 root 的文件名。
1、/etc/crontab
2、/var/cron/tabs 底下會根據每個人不同而產生不同的名稱。如:root有設了crontab,那底下就會產生一個 root 的文件名。
訂閱:
文章 (Atom)