samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
安装
#先提供yum源
[root@client yum.repos.d]# cat xx.repo
[BaseOS]
name=baseos
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
#服务端
[root@server ~]# yum -y install samba*
#客户端
[root@client ~]# yum -y install samba-client
#设置开机自启;并启动
[root@server ~]# systemctl enable smb nmb
[root@server ~]# systemctl start smb nmb
创建用户
[root@server samba]# useradd jerry
[root@server samba]# smbpasswd -a jerry
New SMB password:
Retype new SMB password:
Added user jerry.
客户端验证
[root@client ~]# smbclient -L 192.168.163.131 -U jerry
Enter SAMBA\jerry's password:
Sharename Type Comment
--------- ---- -------
share Disk
IPC$ IPC IPC Service (Samba 4.11.2)
jerry Disk Home Directories
SMB1 disabled -- no workgroup available
[root@client ~]# smbclient //192.168.163.131/jerry -U jerry
Enter SAMBA\jerry's password:
配置用户认证共享:
进入设置创建文件,一个不存在的假账户share
[root@server ~]# cd /etc/samba/
[root@server samba]# ls
lmhosts smb.conf smb.conf.example
[root@server samba]# vim smbusers
[root@server samba]# cat smbusers
jerry = share
添加映射,在/etc/samba/smbusers文件中添加如下内容:
[global]
workgroup = SAMBA
security = user
username map = /etc/samba/smbusers #添加本行
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[jerry]
path = /opt/smb
browseable = Yes
guest ok = yes
write list = share
public = yes
创建一个目录,将系统所有者改成存在的账户jerry
[root@server samba]# mkdir /opt/smb
[root@server samba]# chown -R jerry.jerry /opt/smb
重启服务
[root@server samba]# systemctl restart smb nmb
进入客户端验证
[root@client ~]# smbclient -L 192.168.163.131 -U share
Enter SAMBA\share's password:
Sharename Type Comment
--------- ---- -------
jerry Disk
IPC$ IPC IPC Service (Samba 4.11.2)
SMB1 disabled -- no workgroup available
挂载
[root@client ~]# mount -t cifs //192.168.163.131/jerry /media/ -o username=jerry,password=123
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 883M 0 883M 0% /dev
tmpfs 901M 0 901M 0% /dev/shm
tmpfs 901M 17M 884M 2% /run
tmpfs 901M 0 901M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 9.9G 7.2G 59% /
/dev/nvme0n1p1 1014M 182M 833M 18% /boot
tmpfs 181M 0 181M 0% /run/user/0
//192.168.163.131/jerry 17G 4.4G 13G 26% /media
或以下方式
[root@client ~]# vim /etc/fstab
//192.168.163.131:/jerry /media cifs defaults,username=share,password=123 0 0
验证
[root@client media]# touch abc
[root@server smb]# ls
abc
mysql数据备份及恢复
备份方案
- 全量备份
全量备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。数据恢复快,但备份时间长
完全备份的好处是数据恢复方便,因为所有的数据都在同一个备份中,所以只要恢复完全备份,所有的数据都会被恢复。如果完全备份备份的是整块硬盘,那么甚至不需要数据恢复,只要把备份硬盘安装上,服务器就会恢复正常.
- 增量备份
完全备份随着数据量的加大,备份耗费的时间和占用的空间会越来越多,所以完全备份不会也不能每天进行,这时增量备份的作用就体现了出来。
增量备份是指先进行一次完全备份,服务器运行一段时间之后,比较当前系统和完全备份的备份数据之间的差异,只备份有差异的数据.这就是增量备份
- 差异备份
备份上一次的完全备份后发生变化的所有文件。
差异备份是指在一次全备份后到进行差异备份的这段时间内
对那些增加或者修改文件的备份。在进行恢复时,我们只需对第一次全量备份和最后一次差异备份进行恢复。
差异备份也要先进行一次完全备份,但是和增量备份不同的是,每次差异备份都备份和原始的完全备份不同的数据
相比较而言,差异备份既不像完全备份一样把所有数据都进行备份,也不像增量备份在进行数据恢复时那么麻烦,只要先恢复完全备份的数据,再恢复差异备份的数据即可
全量备份与恢复
•语法:
mysqldump [OPTIONS] database [tables ...]
mysqldump [OPTIONS] --all-databases [OPTIONS]
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]