Linux基礎知識day-7
NFS服務
1)NFS(Network File System)即網絡文件系統,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。NFS在文件傳送或信息傳送過程中依賴於RPC協議。RPC,遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。
2)NFS配置文件位置:/etc/exports。
3)NFS配置文件格式:
<共享目錄> <客戶端1>(選項) <客戶端2>(選項)
共享目錄:NFS服務端共享給客戶端的目錄
客戶端:網絡中能訪問這個共享的主機,多個客戶端使用空格分開
選項:設置目錄的權限,用戶映射等。多個選項使用逗號隔開。
常用選項包含:
sync:以同步方式執行文件系統的輸入輸出動作。 async:以非同步的方式執行文件系統的輸入輸出動作。 ro:以只讀模式加載。 rw:以讀寫方式加載。defaults:使用默認的選項。默認選項為rw、suid、dev、exec、anto nouser與async。 atime:每次存取都更新inode的存取時間,默認設置,取消選項為noatime。
exports文件內容示例:
/share *(rw,sync)
/share_1 192.168.16.185(rw,sync) 192.168.16.132(ro,sync)
4)需要安裝nfs-utils rpcbind兩個包,客戶端服務端都需要安裝。
[[email protected] yum.repos.d]# yum install rpcbind nfs-utils
5)啟動服務。客戶端服務端都需要啟動服務。
[[email protected]
6)客戶端使用showmount -e [服務端IP],查看共享。
[[email protected] yum.repos.d]# showmount -e 192.168.16.132 Export list for 192.168.16.132: /share * /share_1 192.168.16.132,192.168.16.185 [[email protected]-2 yum.repos.d]#
7)客戶端使用mount命令掛載共享到本地使用。
[[email protected] /]# mount 192.168.16.132:/share /nfsshare [[email protected] /]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/cl-root 6486016 4881956 1604060 76% / devtmpfs 225112 0 225112 0% /dev tmpfs 241928 0 241928 0% /dev/shm tmpfs 241928 5048 236880 3% /run tmpfs 241928 0 241928 0% /sys/fs/cgroup /dev/sda1 1038336 160316 878020 16% /boot tmpfs 48388 0 48388 0% /run/user/0 192.168.16.132:/share 6486016 4761344 1724672 74% /nfsshare [[email protected]-2 /]#
8)如果開啟了防火墻需要放行rpc-bind,nfs,mountd。
[[email protected] /]# firewall-cmd --permanent --add-service=rpc-bind success [[email protected]-2 /]# firewall-cmd --permanent --add-service=nfs success [[email protected]-2 /]# firewall-cmd --permanent --add-service=mountd success [[email protected]-2 /]# firewall-cmd --reload success [[email protected]-2 /]#
Crond計劃任務
1)crond是linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
2)crond服務分為系統計劃任務和用戶計劃任務。
系統級計劃任務:修改配置文件/etc/crontab 文件,來創建計劃任務。
用戶級計劃任務:普通用戶直接使用crontab -e命令編輯自己的計劃任務。root管理員可以使用crontab -e -u [用戶名]來修改某一用戶的計劃任務。所有用戶定義的crontab文件都被保存在/var/spool/cron目錄中。
3)crontab文件格式:用戶級和系統級的文件格式都是一樣的。
# Example of job definition:
# .---------------- minute (0 - 59) //分鐘(0-59)
# | .------------- hour (0 - 23) //小時(0-23)
# | | .---------- day of month (1 - 31) //日期(1-31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 月份(1-12)或者使用月份的英文簡寫
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat //星期幾(0-6)或者使用星期的英文簡寫
# | | | | |
# * * * * * user-name command to be executed //username:誰來執行這個任務 command to be executed:要執行的命令
4)crontab命令參數:
-u:指定用戶
-e:編輯某個用戶計劃任務
-l:顯示某個用戶的計劃任務內容
-r:刪除某個用戶的計劃任務
-i:在刪除用戶文件時會提示確認
5)示例:
實例1:每1分鐘執行一次command 命令: * * * * * command 實例2:每小時的第3和第15分鐘執行 命令: 3,15 * * * * command 實例3:在上午8點到11點的第3和第15分鐘執行 命令: 3,15 8-11 * * * command 實例4:每隔兩天的上午8點到11點的第3和第15分鐘執行 命令: 3,15 8-11 */2 * * command 實例5:每個星期一的上午8點到11點的第3和第15分鐘執行 命令: 3,15 8-11 * * 1 command 實例6:每晚的21:30重啟smb 命令: 30 21 * * * /etc/init.d/smb restart 實例7:每月1、10、22日的4 : 45重啟smb 命令: 45 4 1,10,22 * * /etc/init.d/smb restart 實例8:每周六、周日的1 : 10重啟smb 命令: 10 1 * * 6,0 /etc/init.d/smb restart 實例9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb 命令: 0,30 18-23 * * * /etc/init.d/smb restart 實例10:每星期六的晚上11 : 00 pm重啟smb 命令: 0 23 * * 6 /etc/init.d/smb restart 實例11:每一小時重啟smb 命令: * */1 * * * /etc/init.d/smb restart 實例12:晚上11點到早上7點之間,每隔一小時重啟smb 命令: * 23-7/1 * * * /etc/init.d/smb restart 實例13:每月的4號與每周一到周三的11點重啟smb 命令: 0 11 4 * mon-wed /etc/init.d/smb restart 實例14:一月一號的4點重啟smb 命令: 0 4 1 jan * /etc/init.d/smb restart 實例15:每小時執行/etc/cron.hourly目錄內的腳本 命令: 01 * * * * root run-parts /etc/cron.hourly
Linux基礎知識day-7