首页 > 代码库 > Linux基础知识day-7

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。
      noatime:每次存取时不更新inode的存取时间。
 

exports文件内容示例:

/share  *(rw,sync)
/share_1        192.168.16.185(rw,sync) 192.168.16.132(ro,sync)

  4)需要安装nfs-utils rpcbind两个包,客户端服务端都需要安装。

[root@centos-2 yum.repos.d]# yum install  rpcbind nfs-utils

  5)启动服务。客户端服务端都需要启动服务。

[root@centos-2 yum.repos.d]# systemctl start rpcbind
[root@centos-2 yum.repos.d]# systemctl start nfs

  6)客户端使用showmount -e [服务端IP],查看共享。

[root@centos-2 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
[root@centos-2 yum.repos.d]#

  7)客户端使用mount命令挂载共享到本地使用。

[root@centos-2 /]# mount 192.168.16.132:/share /nfsshare
[root@centos-2 /]# 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
[root@centos-2 /]#

  8)如果开启了防火墙需要放行rpc-bind,nfs,mountd。

[root@centos-2 /]# firewall-cmd --permanent --add-service=rpc-bind
success
[root@centos-2 /]# firewall-cmd --permanent --add-service=nfs
success
[root@centos-2 /]# firewall-cmd --permanent --add-service=mountd
success
[root@centos-2 /]# firewall-cmd --reload
success
[root@centos-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