最近管理一個數百臺機器的蘋果網絡,網絡用戶明顯感覺使用速度慢。 他們所有網絡用戶,默認采用將用戶個人文件夾存儲在中央服務器上方式來管理,它的優點是集中管理中央存儲,無論是備份還是用戶配置都可以方便管理。缺點也是明顯的,比如占用大量的網絡帶寬,尤其是在處理大量數據的情況下,視頻就是其中的一個。
要想解決網絡頻繁傳輸大數據的問題,主要解決思想是,把iMovie需要的iMovie Event和Project文件等都重定向到本地硬盤,這樣處理的媒體數據就都再本地處理,不會占用網絡資源來回傳輸數據,因為現在的本地硬盤的空間都足夠大,升級也簡單,但是問題也是,用戶要固定在一臺機器上使用iMovie,而且重要的數據,用戶應該手動備份,或者手動傳輸到服務器上。其實重定向用戶的臨時文件夾tmp也是相同的道理,它們都是利用了Unix系統提供的文件軟連接的便利,達到目的。
其實還有其他的場合應用。比如在Mac服務器上可以管理用戶的Dock的圖標,由于升級和電腦的移動性,很多時候不可能保證所有的機器都升級安裝了同一個版本的軟件,而好多軟件,都加入版本號,來避免覆蓋其他版本,比如Microsoft Office就有2004和2008的不同目錄,當然作為系統配置管理員,可以對自己環境中的軟件進行重新打包之后再發布到網絡上,這樣可以自己定義軟件的安裝來符合自己的網絡環境。不過有的時候并不那么簡單。而使用軟連接可以輕松解決類似版本的問題。
如果不涉及多用戶,那么比較簡單,否則就要有一種方法,當用戶登陸的時候,讓Mac系統執行自己的腳本,方法很多,可以使用工作組管理來實現;可以使用Launchd來實現;也可以使用登陸鉤子的方法;還可以使用mcx等等,嵌入我們自己的腳本,總之,方法多多,要根據自己網絡管理現狀來選擇一個適合自己的方法。
下面是一個文件夾重定向的一個實例.
?
這個就是用戶登陸時自動執行的腳本,它根據用戶名,在/Users/Shared/Movies/文件夾創建一個該用戶的文件夾,在里面是該用戶自己的Movies文件夾,并為iMovie準備好。
#!/usr/bin/perl# -------------------------------------------------------------------------------- ## Local Redirect LoginHook Script for 10.5,10.6 ## ## v1.0 (Mar11/08) ## -Initial Release ## v3.0 (Oct 15 / 10) ## -Modified ## -------------------------------------------------------------------------------- ####################################################################################$UserShortName = $ARGV[0];$uid = (getpwnam($UserShortName)) [2];$UserShortNameRealName = (getpwnam($UserShortName)) [6];$userHomeDir = (getpwnam($UserShortName)) [7];$> = $uid;###################################################################################`logger -i "<<Start>>: Local Cache Redirect LoginHook, user home <$userHomeDir>."`;# Create new 'movies' folder on the local hard drive if needsif ( !(-e "/Users/Shared/Movies/$UserShortName/Movies")){ `mkdir -p -m 700 "/Users/Shared/Movies/$UserShortName/Movies"`; `cp -R -n "/Library/Application/ Support/NetworkDeposit/iMovie/ Projects.localized" "/Users/Shared/Movies/$UserShortName/Movies/"`; `mkdir -p "/Users/Shared/Movies/$UserShortName/Movies/iMovie Events.localized"`;}# set proper permission anyway.`chown -R $UserShortName "/Users/Shared/Movies/$UserShortName"`;`chmod -R 777 "/Users/Shared/Movies/$UserShortName/Movies/"`;# move original Movies folder if exists already.`mv -n "$userHomeDir/Movies" "$userHomeDir/Movies_old"`;# Create symbolic link to point user's 'Movies' folder to local directory`ln -s -f -h "/Users/Shared/Movies/$UserShortName/Movies" "$userHomeDir/"`;# Set right directory for iMovie 8`defaults write com.apple.iMovie8.plist captureVolumePath "/Users/Shared/Movies/$UserShortName/Movies/iMovie Events.localized"`;`defaults write com.apple.iMovie8.plist exportFolder "~/Movies"`;`logger -i "<<End>>: Local Cache Redirect LoginHook, user home <$userHomeDir>."`;exit(0);
?
在安裝這個用戶登陸腳本之前,還要為這臺機器做好準備,下面是安裝腳本的一部分代碼
#!/bin/bash# Repair the old Movies user folder permissions.if [ -e /iMovie/ Events.localized ]; then chmod go+rwx /iMovie/ Events.localizedelse mkdir -m 777 /iMovie/ Events.localizedfiif [ -e /Users/Shared/Movies ]; then chmod 777 /Users/Shared/Movies for EachUser in `/bin/ls "/Users/Shared/Movies"` do chown "$EachUser" "/Users/Shared/Movies/$EachUser" chmod 700 "/Users/Shared/Movies/$EachUser" doneelse mkdir -p -m 1777 /Users/Shared/Moviesfiexit 0
?
在用戶退出登陸的時候,最好有一個退出腳本,下面也是一個例子
#!/usr/bin/perl# -------------------------------------------------------------------------------- ## Local Cache Redirect Logout Script for 10.5 ## ## v1.0 (Mar11/08) ## -Initial Release ## -------------------------------------------------------------------------------- ####################################################################################$userLoggedIn = $ARGV[0];$uid = (getpwnam($userLoggedIn)) [2];$userLoggedInRealName = (getpwnam($userLoggedIn)) [6];$userHomeDir = (getpwnam($userLoggedIn)) [7];$> = $uid;###################################################################################`logger -i "Start: Local Cache Redirect LogoutHook"`;# Remove Cache Symlink`rm "$userHomeDir/Movies"`;`chmod 700 "/Users/Shared/Movies/$userLoggedIn"`;`logger -i "Finish: Local Cache Redirect LogoutHook"`;exit(0);
- 前言
- Mac OS X:如何將個人文件夾從默認卷移到其他卷(適合OSX10.5 Leopard)
- Mac OS X:Finder菜單中的Connect to Server選項禁止和打開
- Mac OS X: 蘋果機支持的分區表類型及問題解決
- Mac OS X: 偏好Preferences基礎(1)
- Mac OS X: 如何變更Office for Mac的注冊碼
- Mac OS X: 禁止/防止網絡用戶復制app程序到桌面
- Mac OS X: 用戶帳戶的選擇
- Mac OS X: 實用腳本程序(bash scripts)系列
- Mac OS X: 共享iPhoto圖片
- Mac OS X: 實用腳本程序(bash scripts)系列-2
- Mac OS X: 實用腳本程序(bash scripts)系列-3
- Mac OS X: 實用腳本程序(bash scripts)系列-4
- Mac OS X: 實用腳本程序(bash scripts)系列-5
- Mac OS X: 實用腳本程序(bash scripts)系列-6
- Mac OS X:升級rsync和同步應用實例
- Mac OS X: XAMP在Mac上的實現
- Mac OS X瘦身多法
- Mac OS X 10.5快速系統部署實踐-計劃(2) v1
- Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(1) v1
- Mac OS X數據備份方案一例
- Mac OS X數據備份方案一例(2)
- Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(2) v1
- Mac OS X: 打印系統治療
- Mac OS X:禁止崩潰報告
- Mac OS X:Snow Leopard的幾個改動(管理員相關)
- Mac OS X排錯:雪豹的最新更新Airport可能不支持無線802.11n網絡
- Mac OS X:雪豹內置支持讀寫NTFS卷
- Mac OS X:定制生成新用戶的程序包
- Mac OS X:在Windows里面使用命令行設置啟動系統
- Mac OS X: 實用腳本程序(bash scripts)系列-7
- Mac OS X:一種從APP中獲得PKG的方法
- Mac OS X: bash腳本實現添加無線SSID(Update2009-10-09)
- Mac OS X: 實用腳本程序(bash scripts)系列-8
- Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(4) v1
- Mac OS X: 徹底刪除GeekTool(bash腳本)
- Mac OS X: 實用腳本程序(bash scripts)系列-9
- 把你的Leopard變成Mac OS X的系統發布服務器(1)
- 把你的Leopard變成Mac OS X的系統發布服務器(2)
- 把你的Leopard變成Mac OS X的系統發布服務器(3)
- Mac OS X: 訪問控制遠程CUPS服務
- Mac &amp; Win混合平臺訪問和工具
- Mac OS X: DeployStudio更新v1.0rc16
- Mac: 想當Apple菜鳥不容易(1)
- Mac: 想當 Apple菜鳥不容易(2)
- Mac: 想當 Apple菜鳥不容易(3)
- Mac: 想當 Apple菜鳥不容易(4完)
- Mac電腦上處理攝像機上的存儲內容
- Mac OS X: Google自動更新程序的卸載
- 雪豹系統和SMB不兼容的問題的解決匯總
- Mac OS X: 實用腳本程序(bash scripts)系列-10
- Mac OS X:MagicPrefs介紹
- Mac OS X: 系統部署后程序安裝的用戶提示
- Mac OS X:開啟單程序模式
- Mac OS X: 在腳本里關閉Airport
- Mac筆記本電池:十點建議和其它
- Mac OS X: Launchd執行程序的一個例子
- Mac OS X:修改SMART Utility期限限制
- Mac OS X:網絡用戶環境個性配置實例
- Mac OS X:強制退出CD/DVD盤
- Mac OS X: launchd plist在線編輯器
- Mac OS X: 實用腳本程序(bash scripts)系列-11
- Mac OS X: 實用腳本程序(bash scripts)系列-12
- Mac: 卸載Safari 5.0.2
- Mac OS X: 實用腳本程序(bash scripts)系列-13
- Mac OS X: 文件圖標制作和變更(Resource Fork)
- Mac OS X 10.6.6更新之后NTFS只讀的解決
- Mac: 網絡用戶遇到Adobe Reader 9.x/10.x異常退出的解決
- Mac OS X: airport命令的參數
- Mac OS X的Spotlight綜述
- Mac OS X:AFP和SMB共享配置詳細配置
- Mac OS X:詳細解讀Munki和應用
- Mac OS X:顯示/設置分辨率的命令(源程序)
- Mac OS X: 是否升級到Lion?
- OSX: 禁止Flash Player 10.3自動更新
- OSX腳本:禁止系統自動添加AppStore圖標到用戶Dock上
- 獅子GM版本的安裝
- OS X Lion獅子安裝盤的初步研究
- OS X Lion獅子的恢復盤的刪除二法
- OSX: Finder的側邊欄(Sidebar)不顯示已裝載的網絡共享
- OSX:隱藏文件或文件夾
- OS X: 實用腳本程序(bash scripts)系列-13
- OS X: 實用腳本程序(bash scripts)系列-14
- OSX:Lion支持登錄窗口的Policy Banner
- OSX: 讓獅子說中文