精华内容
下载资源
问答
  • linuxwindows文件共享

    万次阅读 2016-07-02 20:44:57
    http://blog.csdn.net/pipisorry/article/details/51812022本文主要说明 linuxwindows文件共享, ...(ubuntu16.04, 14.04和win7测试通过)linuxwindows文件共享window对linux文件内容进行操作,利用linux samba

    http://blog.csdn.net/pipisorry/article/details/51812022

    本文主要说明 linux和windows文件共享, windows和ubuntu互相访问 , Linux和安卓设备文件互传和共享。(ubuntu16.04, 14.04和win7测试通过)

    linux和windows文件共享

    window对linux文件内容进行操作,利用linux samba服务,将linux的文件设成共享文件,window就可以以访问共享文件的方式来访问linux文件了。

    Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

    Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
    在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;
    我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

    samba命令

    Samba服务器的启动、关闭和重启

    安装完成后,可以cd到/etc/init.d/目录下,查找smbd命令,然后执行如下命令:
    启动Samba服务器:#sudo /etc/init.d/smbd start
    关闭Samba服务器:#sudo /etc/init.d/smbd stop
    重新启动Samba服务器:#sudo /etc/init.d/smbd restart
    启动Samba服务器后,可以使用ps命令查看进程:#ps -aux。此时,可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中, 主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进 程是随着smbd进程启动而启动。

    按照下面的配置成功后,每次重启电脑后只要

    linux和windows要在同一局域网内(如连接上同一个wifi或者linux开启网络共享)

    右键共享某个目录,且对当前目录有相应权限

    sudo /etc/init.d/smbd start就可以了。

    皮皮blog



    linux端的配置

    samba安装的配置

    注意,修改配置文件一般要sudo /etc/init.d/smbd restart。

    安装samba

    pika:~$sudo apt-get install samba

    sudo apt-get install cifs-utils

    后面这个在两台ubuntu互访时必须安装

    增加samba用户pika

    {如果下面设置security=share不用密码登录就可以访问的话这个可以不设置}

    pika:~$sudo smbpasswd -a pika
    New SMB password:
    Retype new SMB password:
    Added user pika.

    Note: 增加的用户必须是系统中存在的用户,lz这里添加的是当前用户。用户不存在时候要添加:sudo useradd。如sudo useradd pikasmb,要注意,上面只是增加了pikasmb这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。

    配置Samba服务(修改Samba配置文件)

    Samba服务器主要配置文件为/etc/samba/smb.conf,(并且可以将NetBIOS名与主机的对应关系写在/etc/samba /lmhosts文件中,此步骤可忽略)。

    要共享linux上的目录,在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可(见下面的windows访问ubuntu)。

    在Windows系统中不用输入密码访问Linux共享目录,修改samba配置文件smb.conf:
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak       //修改配置文件之前最好做个备份
    sudo vim /etc/samba/smb.conf
    将文件中的内容做如下相应修改:

    1 #security=user 删掉注释,修改为:security=share

    lz没找到这个,所以直接在#======================= Share Definitions =======================的最后加的(配置文件末尾,不能是这行下面!)

    security=share
    设置的含义:
    share:用户不需要账户及密码即可登录samba服务器
    user:由提供服务的samba服务器负责检查账户及密码(默认)
    server:检查账户及密码的工作由另一台windows或samba服务器负责
    domain:指定windows域控制服务器来验证用户的账户及密码)

    2 linux系统下的目录可以直接通过右键配置共享(推荐,较易操作,且好取消共享)

    直接右键会出错,但是会提示Ask the administrator to add the line "usershare owner only = false"  to the [global] section of the smb.conf to allow this.

    这个是右键设置/media/pika/files/mine/python_workspace/NLP/SentimentClassification共享时出错的提示,加上后就可以直接通过右键设置共享了。

    [global]

    usershare owner only = false

    3 也可以在/etc/samba/smb.conf文件结尾添加如下行

    {不推荐,因为不好取消共享。如果进行了第2步设置,这个不用了,直接右键要共享的目录就可以!}

    Note: 一个share对应一个目录,如果要共享两个目录就设置两个share(异名)

    # 共享文件名称或标记 这个可随意写 只是一个标记(在windows上显示的共享目录名)
    [share]
    comment=this is Linux share directory
    #要共享的目录1
    path=/home/pika/share
    #允许匿名用户登录,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的
    public=yes
    #可写权限
    writable=yes
    #显示文件,就是在网络邻居中能看到共享名
    browseable=yes
    valid users=pika
    available=yes

    #要共享的目录2

    [nlpshare]
    comment=this is Linux share directory
    path=/media/pika/files/mine/python_workspace/NLP/SentimentClassification
    public=yes
    writable=yes
    browseable=yes
    valid users=pika
    available=yes

    #要密码访问的共享目录3...

    其中[ftp]项目是要求用户名密码访问的,用户名要求为gcwh,当然你也可以指定一个组(eg.@gcwh)!
    密码保存在/etc/samba/smbpasswd中,用户名用useradd创建,密码用smbpasswd创建,创间之后cat /etc/samba/smbpasswd 看看是否有了!
    Notes: 先确保不要密码是可以访问之后再修改成有密码访问,可以避免纠缠在一些网络原因导致的不能访问的问题上!密码访问本身简单,关键是要正确创建用户和samba密码的对应项(在/etc/samba/smbpasswd中,当然也可以指定其它文件)

    保存退出

    Note: 如果没有缩进,则=两边不要空格。注释必须单行重写,不能加在定义后面!!!否则对应设置的无效。

    常见的samba配置及说明
    [share] # 该共享的共享名
            comment = smb share test # 该共享的备注
            path = /home/share # 共享路径
            allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域
            deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域
            available = yes|no # 设置该共享目录是否可用
            browseable = yes|no # 设置该共享目录是否可显示
            writable = yes|no # 指定了这个目录缺省是否可写,也可以用readonly = no来设置可写
            public = yes|no # 指明该共享资源是否能给游客帐号访问,guest ok = yes其实和public = yes是一样的
            user = user, @group # user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开
            valid users = user, @group # 指定能够使用该共享资源的用户和组
            invalid users = user, @group # 指定不能够使用该共享资源的用户和组
            read list = user, @group # 指定只能读取该共享资源的用户和组
            write list = user, @group # 指定能读取和写该共享资源的用户和组
            admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组
            hide dot files = yes|no # 指明是否像UNIX那样隐藏以“.”号开头的文件
            create mode = 0755 # 指明新建立的文件的属性,一般是0755
            directory mode = 0755 # 指明新建立的目录的属性,一般是0755
            sync always = yes|no # 指明对该共享资源进行写操作后是否进行同步操作
            short preserve case = yes|no # 指明是否区分文件名大小写
            preserve case = yes|no # 指明是否保持大小写
            case sensitive = yes|no # 指明是否对大小写敏感,一般选no,不然可能引起错误
            mangle case = yes|no # 指明混合大小写
            default case = upper|lower # 指明缺省的文件名是全部大写还是小写
            force user = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了
            wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用
            max connections = 100 # 设定最大同时连接数
            delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件

    [Samba服务器配置(2)--认识smb.conf配置文件]

    [配置文件模板]

    启动Samba服务

    pika:~$sudo /etc/init.d/smbd start

    重启: sudo /etc/init.d/smbd restart    修改配置后一般都要重启

    检查Samba是否安装配置正确

    启动Samba客户端程序

    smbclient -L //localhost/share -U pika

    “-L”即为list的含义,“-U”是user的意思,如果Samba服务器是无密码访问的话,可以省略“-U  Samba用户名”。

    pika:~$smbclient -L //localhost/share
    WARNING: The "syslog" option is deprecated
    Enter pika's password:    #这里可以使用sudo smbpasswd -a pika设置的密码
    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        share           Disk      this is Linux share directory
        IPC$            IPC       IPC Service (pika server (Samba, Ubuntu))
    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]

        Server               Comment
        ---------            -------
        PIKA                 pika server (Samba, Ubuntu)

        Workgroup            Master
        ---------            -------
        WORKGROUP            PIKA

    Note: 出错处理:

    1 session setup failed: NT_STATUS_LOGON_FAILURE

    该错误表示用户有误, 可能是用户不存在, 也有可能是密码错误, 或者用户只是在samba和系统的用户中的一个地方存在,   总之是用户和密码有问题,一般是密码错误,密码不是电脑密码,而是自己设置的samba密码。

    2 tree connect failed: NT_STATUS_BAD_NETWORK_NAME
      这个错误则表示共享目录有误, 可能是目录不存在, 或者权限不对

    [客户端访问]

    linux下进行文件共享

    共享目录时,必须对当前目录有共享权限:

    鼠标右键点目录,permissions中设置

    或者$sudo chmod 777 /home/pika/share

    pika:~/share$ll
    total 44
    drwxrwxrwx  2 pika   pika     4096  7月  2 19:37 ./
    pika:/media/pika/files/mine/python_workspace/NLP/SentimentClassification$ll
    total 37
    drwxrwxrwx 1 root root  4096  7月  1 22:18 ./
    鼠标右键点目录,选择sharing options, 勾选share this folder和guest access(这样别人访问时候就不需要密码了),需要的话也可以够选下面的allow write 。

      

    linux中share的目录会加上share标志

    另外可能需要关闭linux的防火墙:sudo service iptables stop或者$ sudo ufw disable, 刷新重连。这样才能被别人访问到。

    windows端的配置

    如果想要linux访问到windows的共享文件,需要

    1 在“控制面板\所有控制面板项\网络和共享中心\高级共享设置”开启“关闭密码保护共享”和“启用文件和打印机共享”。关闭密码保护共享的操作会启用Guest账号,如果Guest账号设置了密码,即使选择了关闭密码保护共享保存修改后,再次打开发现依然会是启用密码保护,这时候需要到用户管理中清空Guest账号的密码。

    2 需要开启guest帐户

    control panel > user accounts and family safety > useraccounts > manage accounts手动开启guest帐户

    如果不启用guest帐户,将会出现linux访问windows时出现对话框,要求输入用户名和密码,并且用户名处是Guest,呈灰色不可选状态,只能输入密码。

    3 可能需要关闭windows和杀毒软件的防火墙

    (windows:打开“网络和共享中心”,windows防火墙,关闭相关项;杀软:(如bitdefender)firewall 中点击off关闭)

    设置共享文件夹

    要共享的文件夹 - 右键 - 属性 - 共享:共享 - 高级共享 - 共享此文件夹

    [win7系统如何给共享的文件夹设置账号密码]

    皮皮blog



    ubuntu、windows之间的互相访问

    linux系统间的文件共享

    一种是直接使用samba,另一种也可以使用NFS。

    ubuntu之间的互访

    都要安装

    pika:~$sudo apt-get install samba

    sudo apt-get install cifs-utils

    否则两台电脑就算都能互相ping通,也不能进行文件共享,也不知道为嘛。

    还都要关闭防火墙,否则只能访问到没开防火墙的一方

    sudo ufw disable
    [ 使用NFS在linux之间共享目录与文件 ]

    ubuntu访问windows

    可能需要安装sudo apt-get install cifs-utils,好像也没用

    network > windows networks > WORKGROUP > 点击共享文件的windows电脑

    就可以看到共享的文件了。

    如果提示要求输入用户名和密码

    用户名:windows上的用户名

    密码:windows对应用户名的登录密码

    windows访问ubuntu

    windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可。但是linux和windows要在同一局域网内(如连接上同一个wifi),当然也可以使用笔记本中的windows或者linux开启wifi来创建一个局域网wifi,参考[笔记本开启无线网络共享 ],此时linux所在笔记本和windows所在笔记本都在同一个局域网内,可以进行文件共享。

    网络中查找并读写文件

    这时在windows的网络邻居中的网络中查找就能找到共享目录pika/share和pika/sentiment。

    如果进入共享目录需要密码,就填写之前在linux中设置的samba帐户和密码,或者linux用户名及其对应密码。

    windows无法访问linux的共享目录的解决

    windows提示无法访问\\pika\share时可以试试

    先看能不能ping通,不能可能是不在同一局域网。

    重启samba服务sudo /etc/init.d/smbd restart

    或者重新搜索共享的电脑(前两个一般有效)

    或者刷新一下 或者重新连网

    或者单击[开始-运行] 输入 “secpol.msc”-“本地策略”-“安全选项”-网络安全:LAN Manager 身份验证级别”-单击列表中:发送LM和NTLMv2,如果已协商,则使用NTLMv2协议。

    终极解决:关闭linux的防火墙:sudo service iptables stop

    或者$ sudo ufw disable, 刷新重连。

    windows可以正常访问linux的情况

    不过不知道为啥,之前的一个截图带着一个锁标志(捕获.PNG),不能被修改,而捕获1可以。


    Note: lz这两个图就是通过windows截图再写入linux再贴到这里来的。

    使用\\192.168.1.100\share访问linux共享文件夹(lz不推荐)

    首先要知道samba服务器的ip地址:terminal中输入ifconfig,查找wlan对应的ip地址,如192.168.1.100(linux的本地连接的IP地址,也就是samba服务器的IP地址)

    wlan0     Link encap:Ethernet  HWaddr b8:76:3f:2f:3d:7f  
              inet addr:192.168.1.100

    在Windows 下访问共享目录

    点击运行(或者win+R快捷键),输入\\192.168.1.100\share,这样就能以匿名用户访问共享目录share了。

    当然也可以直接到windows下输入ip使用,在文件夹处输入 "\\" + "Ubuntu机器的ip或主机名" + "\\" + "share";

    windows访问共享文件时windows防火墙可能需要关闭(lz并没有管)。

    The Unofficial Samba HOWTO

    Samba服务器配置(1)(2)(3)*

    Ubuntu下配置samba服务器*

    鸟哥的linux私房菜:第十六章、文件服务器之二: SAMBA 服务器

    samba Documentation

    windows 和 Ubuntu实现文件共享

    Ubuntu+Win7+Samba实现文件共享

    ubuntu安装samba实现与windows文件共享

    windows linux 之间文件共享 samba配置
    [Ubuntu设置局域网Windows共享文件Samba ]

    [不同级别的权限控制参考:NAS应用-Ubuntu 16.04 Samba文件共享]

    皮皮blog



    Linux和安卓设备文件互传和共享

    打开手机蓝牙对所有设备可见

    ubuntu中添加phone蓝牙配对 all settings > bluetooth > 添加符号, 电脑会在第三步中自动搜索手机设备,产生一个配对数字串,输入到手机中就配对成功了。

    (lz的笔记本不自带蓝牙,买的蓝牙适配器,自带的当然更好)


    配对成功后如下

    ubunbu向手机发送文件

    可以通过上图中的send files向手机发送文件。

    手机向ubuntu发送文件

    Ubuntu中,关于蓝牙传送文件,默认是不接收的,所以要去设置为接收。不设置会出错:在安卓中,选择文件的分享,通过蓝牙发送,发送到Ubuntu桌面端的蓝牙的,却发送失败。


    dash中搜personal file,即Personal File Sharing 中文是:个人文件共享
    然后进去将receive files...打勾,accept files选择only for set up devices(只接收配对的手机发来的文件)

    当然也可以将Accept files改为Always即可正常接收任意别的(手机的)蓝牙发送过来的文件了。

    电脑接收到的文件应该在用户文件夹的downloads文件夹下。

    [安卓手机通过蓝牙发送文件到Ubuntu发送失败]

    from: http://blog.csdn.net/pipisorry/article/details/51812022

    ref: windows文件共享参考[两台windows笔记本创建家庭组实现文件共享 ]

    [一步一学Linux与Windows 共享文件Samba]


    展开全文
  • linux和window删除本地文件的代码都是一样的 假设此时在项目在windows本地的D盘的某个文件 File file = new File("/home/1.jpg"); if (file.exists()) { try { file.delete(); } catch (Exception e) { e....

    linux和window删除本地文件的代码都是一样的

    假设此时在windows本地的D盘根目录下有home文件夹里面有1.jpg图片(D:/home/1.jpg),并且此代码的项目在D盘的某个文件夹下,运行下面程序

     File file = new File("/home/1.jpg");
     if (file.exists()) {
         try {
            file.delete();
         } catch (Exception e) {
             e.printStackTrace();
          }
    

    会把D:/home 下的1.jppg图片删掉,虽然new File时没给磁盘路径,但程序会识别项目所在根目录磁盘路径。

    证明:

      public static void main(String[] args) throws IOException {
            File file = new File("/home/1.jpg");
            System.out.println(file.getAbsolutePath());
            System.out.println(file.exists());
        }
    

    在这里插入图片描述

    而linux下运行代码

    new File("/home/1.jpg")
    路径就是 根目录下home…

    展开全文
  • LinuxWindows文件实时同步

    千次阅读 2019-07-31 14:48:26
    LinuxWindows文件实时同步前言rsync介绍步骤一:步骤二:步骤三:步骤四:步骤五:结束语 前言 实现文件同步是借助Linux上面的镜像备份工具rsync,支持本地复制、SSH、rsync主机同步。该工具在windows平台上也有...

    前言

    实现文件同步是借助Linux上面的镜像备份工具rsync,支持本地复制、SSH、rsync主机同步。该工具在windows平台上也有对应的实现cwRsyncServer。本文介绍的是实时监控Linux服务器上面的文件,并同步到windows客户端。
    ps:此类的文章在网上已经有大把了,很多都是复制粘贴(我也不例外,但是我会详细的讲解细节。),初学者可能不容易看懂。也是为了以后自己能够再次使用(因为只是工具,你不记录下来,以后就忘记了!)

    rsync介绍

    rsync是一个开源的提供快速增量文件传输的实用程序。rsyns目前由Wayne Davison维护。rsync官网地址。
    官网上面主要有两个文档需要看,一个是rsync使用文档,另一个是rsync.conf配置文档参数

    步骤一:

    先在Linux上面安装rsync,一般的Linux发行版上面都会带这个工具。所以可以先看看服务器上面是否安装了rsync。
    输入命令:rpm -qa | grep rsync
    如果没有安装,这个就自行百度一下,rsync的配置文件在/etc/srync.conf
    下面是配置文件内容:

    # /etc/rsyncd: configuration file for rsync daemon mode
    
    # See rsyncd.conf man page for more options.
    
    # configuration example:
    
    # uid = nobody
    # gid = nobody
    # use chroot = yes
    # max connections = 4
    # pid file = /var/run/rsyncd.pid
    # exclude = lost+found/
    # transfer logging = yes
    # timeout = 900
    # ignore nonreadable = yes
    # dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
    
    # [ftp]
    #        path = /home/ftp
    #        comment = ftp export area
    

    因为主要向Windows推送文件,所以不需要更改这里面的配置。

    步骤二:

    在windows下面安装rsync,windows下面有个rsync的实现叫做cwRsyncServer,官网地址,这个软件在4.1.0以前的版本是免费的。之后就是收费了的。这里贴心提供4.1.0的下载地址

    下载之后,自己选好安装路径,注意!在安装的时候,他会生成一个账号,这个账号是用来启动它的一个服务的(ps:相当于Linux下面的daemon)。不过个人觉得这个账户要不要无所谓。

    因为是Linux上面向windows上面推送文件,所以在这里需要配置windows安装的cwRsyncServer的配置文件,并启动服务。

    找到cwRsyncServer的安装目录ICW,打开里面的配置文件rsyncd.conf,并添加以下内容。

    port = 873 #服务端口
    use chroot = false
    strict modes = false
    hosts allow = *
    log file = rsyncd.log
    uid = 0
    gid = 0
    
    # Module definitions
    # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
    #
    [test]
    path = /cygdrive/d/work #同步的路径
    read only = false
    transfer logging = yes
    auth users = ruser # 允许连接服务器的用户名
    secrets file = rsyncd.secrets #用户密码
    

    rsyncd.secrets是创建的一个保存密码的文件,这里是放在和rsync.conf同级目录。文件内容如下:

    ruser:123456
    

    上面其实就是rsync的配置文件。在官网配置文档里面有详细的介绍。上面有#号的是我添加的。有些是默认的。

    设置好之后就启动RsyncServer服务

    步骤三:

    SYNOPSIS
    Local:  rsync [OPTION...] SRC... [DEST]
    
    Access via remote shell:
      Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
      Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
    
    Access via rsync daemon:
      Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
            rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
      Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
            rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
    Usages with just one SRC arg and no DEST arg will list the source files instead of copying.
    

    以上是rsync的使用语法,接下来就测试一下Linux服务器是否能够往windows上面推送数据。(ps:这个用法能够在上面的rsync的使用文档里面找到)

    rsync -avz /home/ftp ruser@192.168.1.108::test

    上面test是你定义的模块,/home/ftp这个是你要推送的源文件地址。
    因为在windows rsync那里定义了用户,所以接下来会要求你输入密码。填之前设置123456就可以了。

    步骤四:

    如果之前推送文件成功了,那我们就可以进行接下来的操作了。之前都是手动去同步的,但是我们想要自动去同步,那该怎么做呢?
    这里有一个工具Sersync。它主要就是监听文件夹,当文件夹发生更改的时候推送文件到远程。
    Sersync下载地址

    Sersync官网
    Sersync作者把资源放在谷歌上面的,所以我这里给一个下载地址。
    下载下来后,进行以下操作:

    wget http://www.pipizhufangpi.cn/resources/sersync2.5.4_64bit_binary_stable_final.tar.gz
    tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz  #解压Sersync压缩文件
    mv GNU-Linux-x86/ /usr/local/sersync   #将解压后的文件移动到/usr/local/sersync目录下
    cd /usr/local/sersync/  #移动到目录 /usr/local/sersync/
    cp confxml.xml confxml.xml_bak #备份配置文件
    

    然后就需要对这个confxml.xml配置文件进行配置了,该配置文件,配置监听的目录、错误产生的日志、同步的地址账号和密码等等。
    需要改的只有几个地方,修改如下:
    修改本地监控文件、修改远程同步模块

    	<localpath watch="/home/ftp"> <!-- 本地监听文件地址 -->
    	    <remote ip="192.168.1.108" name="test"/> <!-- 远程地址和同步的模块 -->
    	    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
    	    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
    	</localpath>
    

    设置远程模块账号和密码

    <rsync>
    <commonParams params="-artuz"/> <!-- 之前rsync的OPTIONS -->
    <auth start="true" users="ruser" passwordfile="/etc/rsync/rsync.passwd"/> <!-- 设置账号和密码 -->
    <userDefinedPort start="false" port="874"/><!-- port=874 -->
    <timeout start="true" time="100"/><!-- timeout=100 -->
    <ssh start="false"/>
    </rsync>
    
    <failLog path="/usr/local/sersync/logs/rsync_fail_log.sh" timeToExecute="60"/><!-- 设置错误日志 -->
    

    在上面我们设置了远程模块的账号和密码,这个是对应windows上面设置的test模块账号和密码。在这里要设置该密码文件,还要设置出错日志。
    代码如下:

    mkdir /etc/rsync #创建文件夹
    echo "123456" > /etc/rsync/rsync.passwd
    chmod 600 /etc/rsync/rsync.passwd #设置只有当前用户具有读写权限,不设置会报错
    mkdir /usr/local/sersync/logs #创建日志文件
    touch /usr/local/sersync/logs/rsync_fail_log.sh #创建日志文件
    

    步骤五:

    完成以上步骤后,就可以开启Sersync了。
    代码如下:

    /usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml
    echo "PATH=$PATH:/usr/local/sersync/" >> /etc/profile
    source /etc/profile
    

    配置更多实例只需要对应不同配置文件即可

    /usr/local/sersync/sersync2  -d -o /usr/local/sersync/www_confxml.xml
    /usr/local/sersync/sersync2  -d -o /usr/local/sersync/bbs_confxml.xml
    /usr/local/sersync/sersync2  -d -o /usr/local/sersync/blog_confxml.xml 
    

    如果你想停止Sersync,可以通过杀死进程的方式来终止:

    ps  -ef |grep  rsync 
    pkill  sersync 
    

    更多:

    传输参数参考如下:

    -v, --verbose 详细模式输出
    -q, --quiet 精简输出模式
    -c, --checksum 打开校验开关,强制对文件传输进行校验
    -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
    -r, --recursive 对子目录以递归模式处理
    -R, --relative 使用相对路径信息
    -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
    --backup-dir 将备份文件(如~filename)存放在在目录下。
    -suffix=SUFFIX 定义备份文件前缀
    -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
    -l, --links 保留软链结
    -L, --copy-links 想对待常规文件一样处理软链结
    --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
    --safe-links 忽略指向SRC路径目录树以外的链结
    -H, --hard-links 保留硬链结
    -p, --perms 保持文件权限
    -o, --owner 保持文件属主信息
    -g, --group 保持文件属组信息
    -D, --devices 保持设备文件信息
    -t, --times 保持文件时间信息
    -S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
    -n, --dry-run现实哪些文件将被传输
    -W, --whole-file 拷贝文件,不进行增量检测
    -x, --one-file-system 不要跨越文件系统边界
    -B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节
    -e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
    --rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
    -C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
    --existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
    --delete 删除那些DST中SRC没有的文件
    --delete-excluded 同样删除接收端那些被该选项指定排除的文件
    --delete-after 传输结束以后再删除
    --ignore-errors 及时出现IO错误也进行删除
    --max-delete=NUM 最多删除NUM个文件
    --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
    --force 强制删除目录,即使不为空
    --numeric-ids 不将数字的用户和组ID匹配为用户名和组名
    --timeout=TIME IP超时时间,单位为秒
    -I, --ignore-times 不跳过那些有同样的时间和长度的文件
    --size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
    --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
    -T --temp-dir=DIR 在DIR中创建临时文件
    --compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
    -P 等同于 --partial
    --progress 显示备份过程
    -z, --compress 对备份的文件在传输时进行压缩处理
    --exclude=PATTERN 指定排除不需要传输的文件模式
    --include=PATTERN 指定不排除而需要传输的文件模式
    --exclude-from=FILE 排除FILE中指定模式的文件
    --include-from=FILE 不排除FILE指定模式匹配的文件
    --version 打印版本信息
    --address 绑定到特定的地址
    --config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
    --port=PORT 指定其他的rsync服务端口
    --blocking-io 对远程shell使用阻塞IO
    -stats 给出某些文件的传输状态
    --progress 在传输时现实传输过程
    --log-format=formAT 指定日志文件格式
    --password-file=FILE 从FILE中得到密码
    --bwlimit=KBPS 限制I/O带宽,KBytes per second
    -h, --help 显示帮助信息
    

    通过观察失败日志,我们可以发现,Sersync所做的就是监控文件夹变化,并定位到那个目录,然后同步。
    部分日志如下

    #errno 1280
    cd /home/ftp && rsync -artuz -R  --timeout=100 --delete ./   --include="文件验证.txt" --exclude=*  ruser@192.168.1.108::test --password-file=/etc/rsync/rsync.passwd >/dev/null 2>&1
    

    结束语:

    展开全文
  • Windows文件转为Linux文件

    千次阅读 2015-05-08 11:49:26
    Linux发现,Windows 下的文本到Linux下可以正常的浏览,但是Linux下的文本到Windows下后发现凡是“回车”部分全是“黑块”,经过一段时间的查询搜索发现了原因及解决办法:DOS/WindowsLinux/Unix的文件换行回车...

    最近使用Ubuntu Linux发现,Windows 下的文本到Linux下可以正常的浏览,但是Linux下的文本到Windows下后发现凡是“回车”部分全是“黑块”,经过一段时间的查询搜索发现了原因及解决办法:DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。


    1)、把Dos/Windows下的文件移至Linux/Unix系统虽然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题。

    以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:

    $ sed -e 's/.$//' mydos.txt > myunix.txt

    该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。

    我们用空字符替换它,从而将其从输出中彻底删除。如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是 UNIX 格式的文本文件。也就没必要那样做了!

    2)、把Linux/UNIX 文本移至 Windows 系统,使用以下脚本执行必需的格式转换:

    $ sed -e 's/$/\r/' myunix.txt > mydos.txt

    在该脚本中,'$' 规则表达式将与行的末尾匹配,而 '\r' 告诉 sed 在其之前插入一个回车。

    在换行之前插入回车,立即,每一行就以 CR/LF 结束。请注意,仅当使用 GNU sed 3.02.80 或以后的版本时,才会用 CR 替换 '\r'。

    另外还有个方法:使用命令 

    unix2dos filename 

    dos2unix filename

    展开全文
  • WindowsLinux下的文件访问和删除    WindowsLinux下的文件操作。系统内核不同,所使用的头文件和API也不同。按照宏定义,编写兼容WindowsLinux系统的程序,实现无缝切换。 1. 头文件介绍 文件操作所必须...
  • Windows下的TXT文件上传到Linux系统上,用cut,grep.sed,awk等文本处理工具处理过后再次传到Windows电脑上,发现内容都连到一块了,百度了一下才知道换行符被删除了, so,问题来了,怎么处理就不会把换行符删除? ...
  • scp使用--linux windows之间传输文件

    万次阅读 2016-10-29 16:48:46
    scp --- 主要是在不同的Linux系统之间来回copy文件 关于cp的具体用法: 命令基本格式: cp [OPTIONS] SOURCE DEST --- 从源路径copy文件到目的路径 cp [OPTIONS] SOURCE... DIRECTORY --- 将多个源文件copy到...
  • linux/windows批量删除csv文件第一行

    千次阅读 2019-07-01 18:22:25
    需要批量删除某文件夹下所有csv文件或者txt文件第一行 方法 将该文件夹导入到linux系统; 打开命令窗口,cd到该文件夹下 运行如下命令 #删除该文件夹下所有csv文件的第一行 sed -i "1d" *.csv #删除该...
  • LinuxLinux LinuxWindows之间使用SSH传输文件
  • Windows Linux 删除N天之前的文件脚本

    千次阅读 2012-07-31 18:42:52
    Windows Linux 删除N天之前的文件脚本  通常做为备份服务器经常会存放非常多的历史文件,而这些文件又并非需要长期而永久的保存,只需保存备份后恢复所需的文件,这个时候就需要定期删除过期而无效的备份...
  • Linux文件操作高频使用命令

    万次阅读 多人点赞 2019-08-28 16:47:38
    删除操作3.复制操作4.移动操作:5.重命名操作:6.解压压缩操作 0.新建操作: mkdir abc #新建一个文件夹 touch abc.sh #新建一个文件 1.查看操作 查看目录: ll #显示目录文件详细信息 查看文件...
  • windows,linux下如何监听新建文件,复制文件,移动文件,剪切文件,修改文件.zip 监听文件修改事件,文件监控文件的新建,复制,修改,剪切,删除,修改操作 包括两个版本:windows版和linux
  • Linux 访问windows共享文件的几种方式

    万次阅读 2016-06-16 12:11:40
    Linuxwindows文件互访
  • linux文件备份到windows

    千次阅读 2017-12-05 10:51:27
    主要内容 备份linux主机内容到windows机器上 例子代码 备份linux 使用tar备份的主要特点 全量与增量 清理历史备份文件 备份文件的转移 恢复linux
  • 通过Samba让Windows访问Linux文件

    千次阅读 2017-03-06 00:17:48
    Linux Samba的简单配置,从而达成在Windows下,能访问Linux上的文件
  • WindowsLinux下定时删除某天前的文件的脚本 无论是在windows下还是linux下很多的日志文件如果不定时删除会充满硬盘所以可以分别写个脚本定时处理一下 以前做到最多的定时我们就是定时备份功能了我们常用利用定时...
  • WindowsLinux互传文件(filezilla)

    千次阅读 2019-01-10 21:35:31
    本文主要总结在WindowsLinux之间互传文件,前提是两个都能正常上网。 1.1想要在WindowsLinux之间互传文件,只需下载开源软件filezilla即可。 下载地址:https://www.filezilla.cn/download/client 博主下载的...
  •  Samba是 SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在LinuxWindows系统之间进行文件共享、打印更容易实现。 Samba由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上...
  • linux小白,在用scp命令上传文件的时候遇到了很多问题。 本地主机window,远程服务器windows 待上传的文件绝对路径:c:\Users\lm\Desktop\wenjan.txt linux服务器的主机号码:limin@173.16.101.136(内网) linux...
  • windows文件同步到linux

    千次阅读 2017-04-10 10:23:41
    同步windows服务器软件至linux服务器实现 1、 一般linux上默认安装有rsync软件 一.查看及安装 查看是否安装rsync 命令# rpm –qa | grep rsync   假如出现对应的rsync版本,则说明对应的linux上已有rsync。...
  • FTP文件传输协议(实现windowslinux文件互传)

    千次阅读 多人点赞 2020-12-13 19:24:10
    FTP文件传输协议(实现windowslinux文件互传) 目录FTP文件传输协议(实现windowslinux文件互传)一、FTP概述二、FTP通信端口三、FTP数据连接四、FTP连接实验详解1、实验环境:虚拟机Centos7,虚拟机Windows10...
  • 情况说明:当在一个文件夹下面有好几十个或几百个文件需要删除,此时一一去挑选费时费力,特别是在Linux下面。因此,需要批量删除文件。  对训练样本(图像)和测试样本(图像)进行评估时候,需要查看是数据本身...
  • Xshell在LinuxWindows上传和下载文件

    万次阅读 2017-08-22 20:28:25
    在一些时候,需要将Windows上的文件上传到Linux,有的时候也需要将Linux上的文件下载到Windows上进行分析。下面就使用XShell在LinuxWindows上上传和下载文件进行实现。 使用sftp实现何为sftpsftp是Secure File ...
  • rsync从Linux同步文件Windows

    千次阅读 2011-08-25 17:47:53
    Linux服务端安装 wget http://rsync.samba.org/ftp/rsync/rsync-3.0.8.tar.gz tar -zxvf rsync-3.0.8.tar.gz cd rsync-3.0.8 ./configure make && mak
  • 删除Windows文本文件中的“^M” 在Linux系统终端下输入“ifconfig”查询主机IP地址如果查询失败可能是未安装net工具,输入“sudo apt install net-tools”安装net工具。 2.打开Xshell点击新建创建连接弹出对话框后...
  • 用脚本实现windowslinux之间文件的传输 需求 1.在Windows系统上的某个文件需要传送到Linux系统的设备上; 2.因为自动化的要求不能人工操作,需要编写脚本,然后在程序中调用cmd命令执行这个脚本。 下面总结...
  • windows/linux删除项目中svn文件

    千次阅读 2014-09-22 18:28:16
    windows下,我们可以制作一个
  • 从putty官网下载putty软件:putty.exepscp.exepsftp.exe等软件 也可以自己下windows安装包putty-0.63-installer.exe ...使用pscp方式从windows上传文件linux服务器 在CMD命令行中进入到putty安装目
  • 双系统windows+linux如何正确删除linux

    万次阅读 多人点赞 2017-11-16 10:42:49
    先不要删除linux!首先解决linux的grub引导问题,后来安装了linux,grub直接覆盖了windows的引导,所以每次开机都是进入了linux的grub引导,也是很不方便,毕竟平时还是用windows比较多的。我们需要重新设置windo...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 312,492
精华内容 124,996
关键字:

linuxwindows文件删除

linux 订阅