标签: smb

要复制到Windows共享(SMB)的Ant任务

是否有一个ant任务(类似于ftp或scp任务)允许我将一组文件复制到windows(smb)共享?

编辑:我必须使用jcifs创建一个任务.如果有人需要它,这里是代码.

取决于jcifs和apache ioutils.

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import jcifs.smb.SmbFile;

import org.apache.commons.io.IOUtils;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.Copy;

public class SmbCopyTask extends Task
{
   private File src;
   private String tgt;

   public void execute() throws BuildException
   {
      try
      {
         recursiveCopy(src);
      }
      catch (Exception e)
      {
         throw new BuildException(e);
      }
   }

   public void recursiveCopy(File fileToCopy) throws IOException
   {

      String relativePath = src.toURI().relativize(fileToCopy.toURI()).getPath();
      SmbFile smbFile = new SmbFile(tgt, relativePath);
      if(!smbFile.exists()) 
      {
         smbFile.createNewFile();
      }
      if(!fileToCopy.isDirectory()) 
      {
         System.out.println(String.format("copying %s to %s", new Object[]{fileToCopy, …
Run Code Online (Sandbox Code Playgroud)

java ant smb

5
推荐指数
0
解决办法
7444
查看次数

PHP SAMBA/SMB/CIFS和smb4php类

必须从网络存储访问某些媒体文件才能通过SMB和通用Internet文件系统访问.PHP网站需要在远程存储块上执行文件操作操作.您可以建议一些替代方法,或者如果您有任何想法或可能有所帮助:

  1. 配置SAMBA/SMB/CIFS
  2. SMB/SAMBA/CIFS客户端配置
  3. 通过PHP访问文件系统 - 研究表明,PHP在这方面提供了smb4php类,但不支持如何在完整的设置中使用.

php smb samba

5
推荐指数
1
解决办法
5098
查看次数

smbclient的退出代码

我在手臂上使用samba的命令行命令“ smbclient”有问题。

我编写了一个脚本来从Windows共享下载文件。这是该脚本的smb部分。

smbclient  //CNAME/SNAME -I0.0.0.0 -N -c "case_sensitive; cd folder; prompt; mget file"
echo $?
Run Code Online (Sandbox Code Playgroud)

我的问题是退出代码。如果文件已完全下载,则退出代码为0(确定)。如果无法下载文件,则退出代码为1(确定)。如果testmaschine由于下载文件而失去了与共享的连接,则退出代码为0(不好),但是错误(“丢失连接...等”)被写入控制台。(好)

我尝试了两个不同的版本。samba-3.0.32 samba-3.6.19两者相同。

有人知道一个好的解决方法(或smbclient-argument)让我的脚本知道下载失败吗?

PS。我检查了smbclient源。看来他们忘记了设置退出代码。因为每次都存在另一个错误,请设置Errormessage并执行一个操作(例如exit(1))。但是对于超时,它们仅设置Errormessage。

先感谢您!

linux shell smb samba arm

5
推荐指数
1
解决办法
3554
查看次数

SMB客户端命令通过Shell脚本

我有一个shell脚本,我用它来访问SMB客户端:

#!/bin/bash
cd /home/username
smbclient //link/to/server$ password -W domain -U username
recurse
prompt
mput baclupfiles
exit
Run Code Online (Sandbox Code Playgroud)

现在,脚本运行,访问服务器,然后要求手动输入命令.

可有人告诉我怎么去的命令recurse,prompt,mput baclupfilesexit通过shell脚本运行的命令吗?

unix shell smb

5
推荐指数
3
解决办法
1万
查看次数

jcifs.smb.SmbException:系统找不到指定的文件?

运行以下代码时,我得到了例外

jcifs.smb.SmbException:系统找不到指定的文件

码:

public void m1(String b) throws IOException {
        // TODO Auto-generated method**strong text** stub

        BufferedReader br=null;
        String urlToBackUpFile = "smb://" +b +"/" + "c$/Program Files/Office/Config/OfficeSyncData.ini";
        String cp="smb://" +b +"/" + "c$/Program Files/Office/Config/OfficeSyncData.txt";
        System.out.println("smb folder of source file" + urlToBackUpFile);
        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "usrname", "passwd");


          SmbFile dir = new SmbFile(cp, auth);
          SmbFileInputStream in = new SmbFileInputStream( dir );
         // br = new BufferedReader(new InputStreamReader(in));


          System.out.println(dir.getDate());
          SmbFile dest = new SmbFile (urlToBackUpFile,auth);
          //count.copyTo(dest);
          dir.copyTo(dest);

    }
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

java smb

5
推荐指数
1
解决办法
3711
查看次数

Mercurial:"hg push"到smb共享不起作用

我使用Ubuntu 16.04和Mercurial 3.7.3.我们的存储库只能作为SMB共享访问.我将共享克隆到我的主文件夹中的文件夹(我简化了一些名称):

> hg clone "/run/user/1000/gvfs/smb-share:server=xyz.com,share=abc$/Repo" Repo
Run Code Online (Sandbox Code Playgroud)

我的问题是我可以做任何事情(拉,提交等)但推动:

> hg push -v
pushing to /run/user/1000/gvfs/smb-share:server=xyz.com,share=abc$/Repo
searching for changes
2 changesets found
uncompressed size of bundle content:
     876 (changelog)
     724 (manifests)
     586  a.txt
    2869  b.txt
   34900  c.rpm
   37325  d.rpm
abort: Operation not supported: '/run/user/1000/gvfs/smb-share:server=xyz.com,share=abc$/Repo/.hg/store/journal'
Run Code Online (Sandbox Code Playgroud)

如果我使用sudo:

> sudo hg push -v
[sudo] password for kol: 
pushing to /run/user/1000/gvfs/smb-share:server=xyz.com,share=abc$/Repo
abort: repository /run/user/1000/gvfs/smb-share:server=xyz.com,share=abc$/Repo not found!
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

UPDATE

我在Windows 7中尝试过相同的功能hg push.

更新2

SMB共享位于Windows计算机上.

hg pushUbuntu 的输出带有--debug选项(我试图推送的提交与上面的不同):

> hg push …
Run Code Online (Sandbox Code Playgroud)

smb mercurial share push

5
推荐指数
1
解决办法
557
查看次数

Android上传到网络驱动器(samba共享)性能问题

当我100kb从平板电脑上传一张带有JCIFS的samba共享图片时,我遇到了一个问题,大概需要10-20分钟(在我更改缓冲区之前需要花费大约1024 to 209715206个小时)但是它不会产生任何影响来增加它

这不是连接问题,因为我已经测试了它ES File立即上载我的图片的位置

private class MyCopy extends AsyncTask<String, String, String> {

    String z = "";
    String username = "", password = "", servername = "", filestocopy = "";

    @Override
    protected void onPreExecute() {   
            username = edtusername.getText().toString();
            password = edtpassword.getText().toString();
            servername = "smb://" + edtservername.getText().toString();
            filestocopy = editdir.getText().toString();
        }

       protected String doInBackground(String... params) {
   //         String buffer;
  //          buffer = setingPreferences.getString("buffer", "");
            File file = new File(filestocopy);
            String filename = file.getName();

            NtlmPasswordAuthentication auth1 …
Run Code Online (Sandbox Code Playgroud)

smb android jcifs image-uploading

5
推荐指数
1
解决办法
661
查看次数

Windows CE 6上的SMB文件共享

我正在尝试在Windows CE 6设备上配置SMB文件共享服务器.

我最初的尝试主要是使用桌面版的NK.exe.当我启动时,SMB0:作为smbserver.dll运行

我已设置(希望)合适的注册表值,然后重新启动SMBServer进程:

服务刷新SMB0:

但是,当我尝试连接SMB客户端时,我从未看到通告的服务(例如,通过在桌面窗口中查找文件共享,或尝试将SMB客户端连接到WinCE设备的IP地址).

我想知道SMB注册表设置是否有必要在启动时可用?我的设备不使用基于配置单元的注册表,因此注册表设置在启动时不可用.我希望刷新SMB服务器进程足以让文件共享.这样,我可以在我的应用程序中以编程方式设置注册表值,重新启动SMB服务,而不必重建kiosk NK.exe(kiosk NK.exe似乎包含smbserver.dll - 它是由一个不是很称职的第三方,重建它的工具又回到Visual Studio 2005.重建NK.exe会很"有趣".

我是否需要重建操作系统才能使用基于配置单元的注册表?

有任何想法吗?

我的注册表设置都在HKEY_LOCAL_MACHINE下:

            Ident\Name "aName"
            Ident\Desc, "A string"
            Ident\OrigName "Another string"

            \Services\Smbserver\SMB\Shares\VirtualRoot\Type Dword:0         
            \Services\Smbserver\SMB\Shares\VirtualRoot\Path "a valid path"
            \Services\Smbserver\SMB\Shares\VirtualRoot\UserList "*"

            \Services\Smbserver\AdapterList "*"
            \Services\Smbserver\Keep DWord:0
            \Services\Smbserver\Prefix "SMB"
            \Services\Smbserver\Index  DWord: 0

            \Services\Smbserver\SHARES\UseAuthentication DWord:0L
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我暂时关闭了身份验证 - 我希望首先让它在CE桌面环境中运行,然后添加身份验证,并使其在Kiosk环境中工作.

我会感激任何帮助!

smb windows-ce

5
推荐指数
1
解决办法
3269
查看次数

从java访问SMB2.1或SMB3共享?

由于Windows 2012R2不再支持SMB1协议而没有一些注册表黑客,使用Java中的SMB共享是否有任何成功,只支持SMB2.1或SMB3?JCIFS库显然只是SMB1,所以它出来了.我看到微软有一个用于Azure的Java库,但这似乎是利用服务而不是SMB.

java smb

5
推荐指数
3
解决办法
1万
查看次数

从Kubernetes部署应用程序使用Windows SMB共享

我们正在将旧版Java和.net应用程序从本地VM迁移到本地Kubernetes集群。

其中许多应用程序都使用Windows文件共享来与其他现有系统进行文件传输。与重新设计所有解决方案以避免使用samba共享相比,部署到Kubernetes的优先级要低,因此,如果要迁移,我们将必须找到一种方法来保持许多现状。

我们使用Kubeadm和Canal在3 centos 7机器上设置了3节点集群。

除了天蓝色卷,我找不到任何积极维护的插件或库来挂载SMB。

我想到的是在所有节点上使用相同的挂载点(即:“ / data / share1”)在每个centos节点上挂载SMB共享,​​然后创建了一个本地PersistentVolume

kind: PersistentVolume
apiVersion: v1
metadata:
  name: samba-share-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/data/share1"
Run Code Online (Sandbox Code Playgroud)

和索赔,

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: samba-share-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
Run Code Online (Sandbox Code Playgroud)

并将索赔要求分配给了该申请。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: samba-share-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: samba-share-deployment
        tier: backend
    spec:
      containers:
      - name: samba-share-deployment
        image: nginx
        ports:
        - containerPort: 80 …
Run Code Online (Sandbox Code Playgroud)

smb windows-share kubernetes persistent-volumes

5
推荐指数
1
解决办法
4950
查看次数