• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

实战案例——共享资源库系统

开发技术 开发技术 4小时前 5次浏览

1.案例目标

1了解FTP工作原理,客户端工具FTP状态码以及vsftp服务的安装

2了解FTP虚拟用户配置以及黑白名单规则使用限制。

3FTP客户端安装以及使用FTP客户端测试。

4)熟悉NFS工作原理,服务部署安装,以及配置文件中参数的使用。

5)了解showmount命令的使用,熟练挂载共享目录以及永久挂载的操作。

6)了解crond命令使用,shell脚本备份资源库编写。

2. 案例分析

2.1规划节点

部署服务的节点规划,见下表:

IP

主机名

节点

192.168.100.11

FTP

FTP服务器、NFS客户端

192.168.100.12

NFS

NFS服务器

2.2基础准备

使用VMWare Workstation软件安装CentOS 7.5操作系统,镜像使用提供的CentOS-7-x86_64-DVD-1908。最小化CentOS 7.5虚拟机一台,另需要nfs服务器一台,YUM源使用本地系统源。

2.3案例需求

以工坊单位为基础,每个工坊设立一个单独共享资源目录,创建FTP虚拟用户名为zhang1-6;权限限制只有下载没有上传的权限,限制最大带宽60KBzhang1-6用户的家目录名称对应6个不同的工坊名词缩写;新建的一块20G存储磁盘必须挂载在nfs的共享目录上,每7天晚上21点要求增量备份一次nfs的共享数据,到/backup/weekbackup目录下,存放在以日期命名的目录;每14天清除上上一周的备份数据。

 

3. FTP服务

 

3.1 什么是FTP

 

FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一,我们现在也一直有在用着FTP协议来进行各种文件的传输,FTP为我们提供了一种可靠的方式在网络上进行文件的共享。

3.2 FTP原理

 

FTPC/S架构的服务,拥有一个服务器端和一个客户端,FTP底层通过TCP协议来作为传输协议,所以FTP协议是一种可靠的文件传输方式,FTP提供了两个端口号,2021号端口,20号是数据接口,提供数据之间的传输,21号是命令接口,提供命令之间的传输。

 

FTP服务端与客户端连接一般有两种模式:主动模式(Active Mode)和被动模式(Passive Mode)

 

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送FTP用户名和密码,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令,告诉服务端客户端采用主动模式并开放了端口。FTP服务器接收到PORT命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。如图:

 

实战案例——共享资源库系统

 

 

 

 

 

(主动模式)

 

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送用户名和密码进行登陆,同时会开启N+1端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P(端口P的范围是可以设置的,后面会说到这个是很重要的)进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。如图:

 

 

                               实战案例——共享资源库系统

 

 

 

(被动模式)

 

3.3 FTP状态码

 

FTP状态码

 

1xx – 肯定的初步答复

 

这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。

 

110 重新启动标记答复。

 

120 服务已就绪,在 nnn 分钟后开始。

 

125 数据连接已打开,正在开始传输。

 

150 文件状态正常,准备打开数据连接。

 

 

 

2xx – 肯定的完成答复

 

一项操作已经成功完成。客户端可以执行新命令。

 

200 命令确定。

 

202 未执行命令,站点上的命令过多。

 

211 系统状态,或系统帮助答复。

 

212 目录状态。

 

213 文件状态。

 

214 帮助消息。

 

215 NAME 系统类型,其中,NAME Assigned Numbers 文档中所列的正式系统名称。

 

220 服务就绪,可以执行新用户的请求。

 

221 服务关闭控制连接。如果适当,请注销。

 

225 数据连接打开,没有进行中的传输。

 

226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。

 

227 进入被动模式 (h1,h2,h3,h4,p1,p2)

 

230 用户已登录,继续进行。

 

250 请求的文件操作正确,已完成。

 

257 已创建“PATHNAME”。

 

 

 

3xx – 肯定的中间答复

 

该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。

 

331 用户名正确,需要密码。

 

332 需要登录帐户。

 

350 请求的文件操作正在等待进一步的信息。

 

 

 

4xx – 瞬态否定的完成答复

 

该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。

 

421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。

 

425 无法打开数据连接。

 

426 Connection closed; transfer aborted.

 

450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。

 

451 请求的操作异常终止:正在处理本地错误。

 

452 未执行请求的操作。系统存储空间不够。

 

 

5xx – 永久性否定的完成答复

 

该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。

 

500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。

 

501 参数中有语法错误。

 

502 未执行命令。

 

503 错误的命令序列。

 

504 未执行该参数的命令。

 

530 未登录。

 

532 存储文件需要帐户。

 

550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。

 

551 请求的操作异常终止:未知的页面类型。

 

552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。

 

553 未执行请求的操作。不允许的文件名。

 

 

 

常见的 FTP 状态代码及其原因

 

150 FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。

 

226 – 命令在端口 20 上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。

 

230 – 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。

 

331 – 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。

 

426 – 命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。

 

530 – 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。

 

550 – 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录。

 

 

 

3.4 FTP客户端

 

ftp命令程序:是最简单的FTP客户端工具WindowsLinux都拥有ftp命令程序,可以连接到FTP服务器进行交互式的上传、下载通信。

 

图形化FTP客户端工具Windows中较常用的包括CuteFTPFlashFXPLeapFTPFilezilla等,在图形化的客户端程序中,用户通过鼠标和菜单即可访问、管理FTP资源,而不需要掌握FTP交互命令,更易于使用。

 

下载工具FlashGetWget等,包括大多数网页浏览器程序,都支持通过FTP协议下载文件,但因不具备FTP上传管理功能,通常不称为FTP客户端工具

 

本案例采用的FTP客户端工具FilezillaLFTPyum安装)。

 

官方网站:https://filezilla-project.org/download.php?show_all=1

 

 

4.1 基础搭建

修改主机名:

[root@localhost]# hostnamectl set-hostnamectl ftp
[root@localhost]#bash
[root@ftp]#
[root@localhost]# hostnamectl set-hostnamectl nfs
[root@localhost]#bash
[root@nfs]#

关闭防火墙及安全规则:

[root@ftp ~]# systemctl stop firewalld
[root@ftp ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@ftp ~]# setenforce 0
[root@ftp ~]# 
[root@nfs ~]# systemctl stop firewalld
[root@nfs ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@nfs ~]# setenforce 0
[root@nfs ~]# 

4.2 FTP部署

yum安装FTP

root@ftp ~]# yum install -y vsftpd

启动ftp并设置开机自启:

 

[root@ftp ~]# systemctl start vsftpd
[root@ftp ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@ftp ~]#

 

创建虚拟用户账号(zhang1-6)

 

[root@ftp ~]# vi /etc/vsftpd/users.conf
zhang1
000000
zhang2
000000
zhang3
000000
zhang4
000000
zhang5
000000
zhang6
000000
~
~

转化为 Berkeley DB 格式的数据文件:

 

[root@ftp ~]# db_load -T -t hash -f /etc/vsftpd/users.conf /etc/vsftpd/users.db

 

设置DB文件权限提高安全性:

[root@ftp ~]# chmod 600 /etc/vsftpd/users.db 

创建 FTP 根目录及虚拟用户映射的系统用户

[root@ftp ~]# useradd vsftpd -d /home/vsftpd -s /sbin/nologin 
[root@ftp ~]# mkdir -p /home/vsftpd/xmcsxy
[root@ftp ~]# chmod -R 755 /home/vsftpd/

建立支持虚拟用户的PAM认证文件

[root@ftp ~]# vi /etc/pam.d/vsftpd 
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/users
account sufficient /lib64/security/pam_userdb.so db=/tec/vsftpd/users
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

备份配置文件并导入有效参数

[root@ftp ~]# cp /etc/vsftpd/vsftpd.conf{,.bak}
[root@ftp ~]# egrep -v '^$|^#' /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf

添加虚拟用户支持修改配置文件/etc/vsftpd/vsftpd.conf

 

[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO   #YES改为NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
chroot_local_user=YES
guest_enable=YES
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/vsftpd_conf

为不同的虚拟用户建立独立的配置文件:

[root@ftp ~]# mkdir -p /etc/vsftpd/vsftpd_conf
[root@ftp ~]# cd /etc/vsftpd/vsftpd_conf
[root@ftp vsftpd_conf]# vi zhang1
local_root=/home/vsftpd/xmcsxy/yunwei
write_enable=YES
anon_upload_enable=YES
anon_max_rate=60000

以此类推把zhang1…..zhang6配置完,修改每个用户的本地家目录路径!

 给配置文件授予权限

[root@ftp vsftpd_conf]# chmod -R 755 /etc/vsftpd/vsftpd_conf

重启服务生效配置文件

[root@ftp vsftpd_conf]# systemctl restart vsftpd
[root@ftp vsftpd_conf]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2021-06-03 23:25:54 CST; 8s ago
  Process: 11262 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 11263 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─11263 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

6月 03 23:25:54 ftp systemd[1]: Starting Vsftpd ftp daemon...
6月 03 23:25:54 ftp systemd[1]: Started Vsftpd ftp daemon.

4.3 NFS部署

检查环境(两台都需要):

[root@ftp ~]# uname -a
Linux ftp 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@nfs ~]# uname -a
Linux nfs 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

安装nfs依赖包(两台都需要):

 

[root@ftp ~]# yum -y install nfs-utils rpcbind
[root@nfs ~]#  yum -y install nfs-utils rpcbind

查看nfsnobody用户在不在(两台都需要):

[root@ftp ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) 组=65534(nfsnobody)
[root@ftp ~]# 
[root@nfs ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) 组=65534(nfsnobody)
[root@nfs ~]# 

启动nfs相关服务(两台都需要)

启动rpc服务:

[root@ftp ~]# systemctl start rpcbind
[root@ftp ~]# systemctl enable rpcbind
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# systemctl enable rpcbind

启动nfs服务:

[root@ftp ~]# systemctl start nfs
[root@ftp ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@ftp ~]# 
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@nfs ~]# 

查看rpc端口:

 

[root@ftp ~]# netstat -ltnp | grep rpc
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      22719/rpcbind       
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      22787/rpc.mountd    
tcp        0      0 0.0.0.0:46387           0.0.0.0:*               LISTEN      22779/rpc.statd     
tcp6       0      0 :::111                  :::*                    LISTEN      22719/rpcbind       
tcp6       0      0 :::20048                :::*                    LISTEN      22787/rpc.mountd    
tcp6       0      0 :::40166                :::*                    LISTEN      22779/rpc.statd

 

创建共享目录:

[root@nfs ~]# mkdir /data

更改共享目录权限:

[root@nfs ~]# chown -R nfsnobody.nfsnobody /data
[root@nfs ~]# chmod 755 -R /data

添加一块磁盘将永久挂载在/data目录上:

① 在nfs上添加新磁盘重启虚拟机

实战案例——共享资源库系统

② 划分分区

[root@nfs ~]# cat /proc/partitions # 查看新磁盘名字
major minor  #blocks  name

   8        0   20971520 sda
   8        1     512000 sda1
   8        2   20458496 sda2
   8       16   20971520 sdb
  11        0    1048575 sr0
 253        0   18317312 dm-0
 253        1    2097152 dm-1 
[root@nfs ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xeff8152f 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

③ 格式化分区并永久挂载 

[root@nfs ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@nfs ~]# vi /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Mon Jun  7 22:37:09 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=2e662a88-2c0f-485f-8a2d-a6f2153cf168 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdb1       /data                           ext4    defaults        0 0
[root@nfs ~]# mount -a
[root@nfs ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  968M   17G    6% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0
/dev/sdb1                 20G   45M   19G    1% /data

④ 配置nfs共享目录

[root@nfs ~]# vi /etc/exports
/data   192.168.174.0/24(rw,no_root_squash,async) #分配no_root_squash权限

⑤ 生效配置与检验

[root@nfs ~]# exportfs -rv
exporting 192.168.174.0/24:/data
[root@nfs ~]# showmount -e localhost    #检测nfs共享目录创建成果
Export list for localhost:
/data 192.168.174.0/24

 

4.4 调试与检验成果

 

/data目录挂载到/home/vsftpd/xmcsxy/目录上

 

[root@ftp ~]# mount -t nfs 192.168.174.135:/data /home/vsftpd/xmcsxy/
[root@ftp ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  977M   17G    6% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.174.135:/data     20G   44M   19G    1% /home/vsftpd/xmcsxy

 

创建对应FTP虚拟用户的家目录: 

[root@ftp ~]# cd /home/vsftpd/xmcsxy/
[root@ftp xmcsxy]# mkdir yunwei
[root@ftp xmcsxy]# mkdir java
[root@ftp xmcsxy]# mkdir game
[root@ftp xmcsxy]# mkdir bigdata
[root@ftp xmcsxy]# mkdir weixin
[root@ftp xmcsxy]# mkdir android
[root@ftp xmcsxy]# 

 

 

 

 

 实战案例——共享资源库系统

 

 

 

 

 

测试虚拟用户登录:

 

nfs服务端安装lftp(ftp命令行客户端)

 

 

[root@nfs ~]# yum install -y lftp
[root@nfs ~]# lftp zhang1@192.168.174.134
口令: 
lftp zhang1@192.168.174.134:~> ls         
-rw-------    1 14       50         217034 Jun 11  2021 111.jpg.png
lftp zhang1@192.168.174.134:/>

 

尝试再往yunwei目录添加一个文件:

 

 

[root@ftp vsftpd]# cd /home/vsftpd/xmcsxy/yunwei/
[root@ftp yunwei]# touch 1.txt
[root@ftp yunwei]# ll
总用量 212
-rw-------. 1 ftp  ftp  217034 6月  11 2021 111.jpg.png
-rw-r--r--. 1 root root      0 6月  11 2021 1.txt
[root@ftp yunwei]# 

 

 

再次查看:

[root@nfs ~]# lftp zhang1@192.168.174.134
口令: 
lftp zhang1@192.168.174.134:~> ls         
-rw-r--r--    1 0        0               0 Jun 11  2021 1.txt
-rw-------    1 14       50         217034 Jun 11  2021 111.jpg.png
lftp zhang1@192.168.174.134:/> 

 

 

 

使用windows图像化FTP工具:

实战案例——共享资源库系统

 

 

 

至此架构系统部署已经完成!

 

4.5 shell备用数据脚本及定时计划

 

脚本实现:

 

 

[root@nfs ~]# vi /usr/local/sbin/backup.sh
a=`date '+%Y%m%d'`                              #定义时间
b=/backup/weekbackup                            #定义备份目录路径
c=/var/log/backup.log                           #定义输出日志路径
pname=$(rpm -qa | grep rsync)           #定义rsync安装包检查
#判断rsync是否存在
if [ $? -eq 0 ]
then
        echo "软件包rsync已经安装。"
else
        echo "软件包rsync没有安装"
        yum -y install rsync >> /dev/null
        if [ $? -eq 0 ];then
                echo "安装rsync完成。"
        else
                echo "安装rsync失败。"
        fi
fi
#判断备份目录是否存在,并增量备份。
if [ ! -d "$b" ];then
        mkdir -p $b
        echo "$a Backup File missing!" >> /var/log/backup.log
        rsync -rvz /data $b/$a
else
        rsync -rvz /data $b/$a
        if [ -d $b/$a ];then
                echo "$a Backup success." >> /var/log/backup.log
                find $b -mtime +14 | xargs rm -rf
        else
                echo "$a Backup failed." >> /var/log/backup.log
        fi
fi
"/usr/local/sbin/backup.sh" [New] 31L, 980C written

 

 

测试脚本执行过程结果:

[root@nfs ~]# sh -x /usr/local/sbin/backup.sh 
++ date +%Y%m%d
+ a=20210611
+ b=/backup/weekbackup
+ c=/var/log/backup.log
++ rpm -qa
++ grep rsync
+ pname=
+ '[' 1 -eq 0 ']'
+ echo $'350275257344273266345214205rsync346262241346234211345256211350243205'
软件包rsync没有安装
+ yum -y install rsync
+ '[' 0 -eq 0 ']'
+ echo $'345256211350243205rsync345256214346210220343200202'
安装rsync完成。
+ '[' '!' -d /backup/weekbackup ']'
+ mkdir -p /backup/weekbackup
+ echo '20210611 Backup File missing!'
+ rsync -rvz /data /backup/weekbackup/20210611
sending incremental file list
created directory /backup/weekbackup/20210611
data/
data/android/
data/bigdata/
data/game/
data/java/
data/lost+found/
data/weixin/
data/yunwei/
data/yunwei/1.txt
data/yunwei/111.jpg.png

sent 217,046 bytes  received 140 bytes  434,372.00 bytes/sec
total size is 217,034  speedup is 1.00

 

 

定时计划:

[root@nfs ~]# crontab -e
* 21 */7 * * sh/usr/local/sbin/backup.sh

 

#7天晚上21点执行一次脚本

 

 

 

至此案例实操完成!

 

 

 


程序员灯塔
转载请注明原文链接:实战案例——共享资源库系统
喜欢 (0)