精华内容
下载资源
问答
  • 零度文件批量处理工具是一个积多个功能于一身的绿色小工具。文件字符替换功能,可以批量替换一个目录下的所有文本类型数据。简单实用。可以查账替换服务器文本任意指定的代码
  • 零度文件批量处理工具是一个集多个功能于一身的绿色小工具,同时还提供了文本字符替换功能,重命名功能,图片批量修改功能,可以批量替换一个目录下的所有文本类型数据。简单实用。可以查账替换服务器文本任意指定的...
  • | 工具:dpabi5.0, spm12, NIfTI_20140122(密码:iizk)      我们知道在进行fMRI预处理的时候,要求所有被试时间点相同,它将直接影响到slice timing的顺利执行,另外要求每个体素的尺寸也相同。fMRI数据一般是...


    | 图源-slice

    | 工具:dpabi5.0, spm12, NIfTI_20140122(密码:iizk)
      

      我们知道在进行fMRI预处理的时候,要求所有被试时间点相同,它将直接影响到slice timing的顺利执行,另外要求每个体素的尺寸也相同。fMRI数据一般是4D的,不能直接看个数,但是可以通过MRIcro查看每个被试的时间点数和体素尺寸,不过很麻烦。笔者没有找到可以一次性审查全部被试时间点和体素尺寸的程序,所以自己写了一个,放在这里供大家参考。

      另外,dpabi是一个比较强大的脑影像分析工具,但它难以在不能显示图形界面和弹窗的服务器上使用,笔者想在那样的服务器上跑,所以也自己写了一个脚本,它可以完成在GUI能上完成的DPARSFA的所有操作,放在这里供大家参考。

    copyright ©意疏:https://blog.csdn.net/sinat_35907936/article/details/113425845?spm=1001.2014.3001.5502


    fMRI 时间点与体素尺寸批量审查


    • NIFTI解析工具

      matlab上的一个工具包NIfTI_20140122,是一个便利的nifti图像解析工具。其中load_nii() 函数,用于载入3D的影像,如T1像。load_untouch_nii() 函数用于载入4D的影像,如功能态影像。载入的nifti文件以一个结构体的形式储存,其中包括数据头(包含时间点,像素尺寸等信息)和图像数组。
      
      我们需要审查的项由右下图红框标出——nii_file.hdr.dime.dim(5)nii_file.hdr.dime.pixdim(2:4)。以在左下图MRIcro上显示的为参考,我们可以发现两者时间点和体素尺寸是一致的——240, [3.4375,3.4375,4.6]。

    在这里插入图片描述
      随机查看多个被试,以确定全部被试正确的时间点和体素尺寸,笔者这批数据即为240, [3.4375,3.4375,4.6]。所以代码通过该标准来对数据进行批量审查。挑出时间点,像素尺寸等有问题的文件。

    • 代码与效果

      代码适用于如下所示的三层目录结构:运行后,通过GUI选择Root_dir。

    在这里插入图片描述

    % accurate timepoint and voxelsize
    TimePoint = 240;
    VoxelSize = [3.4375, 3.4375, 4.6];
    
    folder = uigetdir;
    root_dir = dir(folder);
    h=waitbar(0,'time point checking, please wait'); %进度条
    [D1, D2] = size(root_dir);
    
    ErrorOut1 =  fullfile(folder, '_timepoint_error');    %存放错误文件的文件夹
    if exist(ErrorOut1,'dir')==0
      mkdir(ErrorOut1)
    end
    ErrorOut2 =  fullfile(folder, '_voxelsize_error');
    if exist(ErrorOut2,'dir')==0
      mkdir(ErrorOut2)
    end
    
    ErrorOut3 =  fullfile(folder, '_filemiss_error');
    if exist(ErrorOut3,'dir')==0
      mkdir(ErrorOut3)
    end
    
    for i = 3:size(root_dir)
      files = dir(fullfile(root_dir(i).folder, root_dir(i).name));
      [d1, d2] = size(files);
      if d1 > 2
          nii_file = load_untouch_nii(fullfile(files(3).folder, files(3).name));
          time_point = nii_file.hdr.dime.dim(5);        % 时间点比较
          voxel_size = nii_file.hdr.dime.pixdim(2:4);   % 体素尺寸比较
          if time_point ~= TimePoint
              movefile(fullfile(root_dir(i).folder, root_dir(i).name),ErrorOut1); 
          elseif VoxelSize ~= voxel_size
              movefile(fullfile(root_dir(i).folder, root_dir(i).name),ErrorOut2);
          end
      else
           movefile(fullfile(root_dir(i).folder, root_dir(i).name),ErrorOut3);
      end
      waitbar(i/(D1-2), h);
    end
    
    disp('All Files Done!!!');
    delete(h);
    

      效果与结果图:
    在这里插入图片描述

    copyright ©意疏:https://blog.csdn.net/sinat_35907936/article/details/113425845?spm=1001.2014.3001.5502


    服务器上无GUI无弹窗跑DPARSFA


    • DPARSFA_run函数

      dpabi官网上提供了无GUI跑DPARSFA的方法,即直接调用DPARSFA_run(),它共有四个参数,可以通过以下方式调用:DPARSFA_run(Cfg)、DPARSFA_run(’/XXX.mat’)或者 DPARSFA_run(’/XXX.mat’,WorkingDir,SubjectListFile,IsAllowGUI)等。

      其中Cfg是一个结构体,它包含了包含Time Points等在内的几十个参数,它是XXX.mat的内容,而XXX.mat就是我们在如下GUI中选择参数后,save的.mat文件。

    在这里插入图片描述

    • 服务器上DPARSFA_run函数修改

       如果输入的数据是nifti格式,或者没有勾选Crop——切脖子选项,且需要处理T1时,DPARSFA_run会因为找不到co开头的切了脖子的nifti图像。而在有GUI时产生如下弹窗——no co*T1 image is found,选yes则可以用T1像代替而继续运行。而在没有GUI的时则出错而停止

    在这里插入图片描述

      修改方法:查找出DPARSFA_run.m文件中所有含questdlg的代码段,并做如下替换,共需要替换5处。目的是在没有co*T1时能够直接用T1接着运行。

      替换前代码

       button = questdlg(['No co* T1 image (T1 image which is reoriented to the nearest orthogonal direction to ''canonical space'' and removed excess air surrounding the individual as well as parts of the neck below the cerebellum) is found. Do you want to use the T1 image without co? Such as: ',DirImg(1).name,'?'],'No co* T1 image is found','Yes','No','Yes');
        if strcmpi(button,'Yes')
            UseNoCoT1Image=1;
        else
            return;
        end
    

      替换后代码

        if AutoDataProcessParameter.IsAllowGUI == 0  % no GUI no pop-up windows
             UseNoCoT1Image=1;
             disp('WARNING:No co* T1 image, use NoCoT1Image instead');
        else
             button = questdlg(['No co* T1 image (T1 image which is reoriented to the nearest orthogonal direction to ''canonical space'' and removed excess air surrounding the individual as well as parts of the neck below the cerebellum) is found. Do you want to use the T1 image without co? Such as: ',DirImg(1).name,'?'],'No co* T1 image is found','Yes','No','Yes');
            if strcmpi(button,'Yes')
                UseNoCoT1Image=1;
            else
                return;
            end
        end
    

      另外,在无GUI的情况下,默认不会产生PicturesForChkNormalization文件夹,而它是后面做质量检测时重要的参考,所以必须要产生它。做如下修改即可。修改完保存。

      查找出所有的Generate the pictures only if GUI is allowed字段,共两处,将其所在行的if语句注释掉,并且注释其对应的end。

    % if AutoDataProcessParameter.IsAllowGUI %YAN Chao-Gan, 161011. Generate the pictures only if GUI is allowed.
    
    • 笔者代码——dpabi_noGUI

       笔者代码如下,它的功能是通过输入参数更新Cfg结构体、运行DPARSFA处理流程并生成log文件。它的参数有四个,Cfg_file是在GUI上选择并保存的.mat文件,work_dir是dpabi指定的工作目录,StartingDirName是DPARSFA处理流程的起始目录,如FunImg。ROI_altas_name是要做ROI分析时指定的脑图谱的名字,它必须存在与dpabi的Template下才能使用。
    在这里插入图片描述

    function dpabi_noGUI(Cfg_file,work_dir,StartingDirName,ROI_altas_name)
    
    % use dpabi pipeline without GUI
    % Cfg_file, work_dir , StartingDirName and ROI_atlas_name in dpabi as fuction inputs.
    % Cfg_file mat file from dipabi GUI selection saving.
    % if you dont do FC with ROI altas, make ROI_altas_name='', if not, make  ROI_altas_name= 'altas_name' such as 'aal.nii'
    % command: matlab -nodisplay "$nojvm" -nosplash -r "dpabi_noGUI('/home/pc/fMRI/data/tmp.mat','/home/pc/fMRI/data','FunImg', 'aal.nii')" 
    % kill progress command: ps -ef|grep 'matlab'|grep -v  'ii'|cut -c 9-16|xargs kill -9
    
    
        dpabi_dir = '/home/opt/matlab2018a/toolbox/dpabi';   %dpabi install dir,需要自行修改路径
        template_dir = [dpabi_dir,'/Templates/'];
        
        sub_dir = dir([work_dir, '/',StartingDirName]);
        log_file = [work_dir, '/log.txt'];
    
        [D1, ~] = size(sub_dir);
        SubjectID = cell(D1-2, 1);
    
    
        for i = 3:D1
            SubjectID{i-2} = sub_dir(i).name;
        end
        
    
        load(Cfg_file)
        Cfg.WorkingDir = '';
        Cfg.DataProcessDir  = '';
        Cfg.SubjectID = SubjectID;
        if Cfg.IsCalFC == 1 || Cfg.IsExtractROISignals == 1
            if size(ROI_altas_name) == 0
                disp('there is no ROI_atlas_name')
                return
            else 
                Cfg.CalFC.ROIDef = {[template_dir, ROI_altas_name]};
            end
        end
        Cfg.StartingDirName = StartingDirName;
        
        f1 = fopen(log_file,'w+');
        diary(log_file)
        diary on
        
        DPARSFA_run(Cfg,work_dir,'',0);
    
        fclose(f1);
    
        disp('Success!')
        diary off
    
    end
    
    
    • dpabi_noGUI使用——简单配置

       将dpabi_noGUI.m传到服务器上,并将它所在路径添加到matlab搜索路径,这样可以直接在matlab中用dpabi_noGUI()使用该函数,当然也可以直接把它传到dpabi的安装目录下。如下是命令行永久添加matlab搜索路径的方法。

    matlab -nodisplay
    
    p=genpath('scriptpath')
    
    addpath(p)
    
    savepath
    
    • dpabi_noGUI使用——流程

      比如我想在服务器上跑协变量回归,滤波,功能连接和ROI时间序列提取操作。我需要这样操作:

       第一、在自己电脑上用GUI选好要做的流程,如下图,我勾选了4个我想做的操作。工作目录,被试列表,和起始目录可以默认。选好后保存成.mat文件。
    在这里插入图片描述
       第二、把.mat文件和要处理的数据一起传到服务器上。假设传到了/xx/xx/xx下。

       第三、打开终端,敲入如下命令。路径一定要是绝对路径,相对路径会出错。由于我先前做过头动校正和归一化了,所以起始目录选的FunImgRW,然后脑图谱用的400个脑区的Yeo2011_7Networks_MNI152_FreeSurferConformed1mm_LiberalMask.nii

    matlab -nodisplay "$nojvm" -nosplash -r "dpabi_noGUI('/xx/xx/xx/xxx.mat','/xx/xx/xx', 'FunImgRW', 'Yeo2011_7Networks_MNI152_FreeSurferConformed1mm_LiberalMask.nii')" 
    

      强制停止进程方法

    ps -ef|grep 'matlab'|grep -v  'ii'|cut -c 9-16|xargs kill -9
    

      结果与效果

      400个脑区的连接矩阵:出现与主对角线平行的两条线的原因是Yeo2011_7Networks_MNI152_FreeSurferConformed1mm_LiberalMask.nii图谱,前200和后200分别对应的是左右脑对称位置的脑区,而在对称位置的功能往往存在较大的相似性,所以出现高亮的线。

    figure
    imagesc(255*ROICorrelation)
    

    功能连接矩阵

      PicturesForChkNormalization:
    在这里插入图片描述

    • XXX.mat修改

      .mat文件决定了dpabi的执行流程。如果中途发现它需要修改,在本地修改好了,用FileZilla之类的工具传到服务器上,覆盖原来的.mat文件即可。

      完成后,重新执行脚本。

    copyright ©意疏:https://blog.csdn.net/sinat_35907936/article/details/113425845?spm=1001.2014.3001.5502


    参考


    http://www.rfmri.org/content/configurations-dparsfarun

    展开全文
  • 批量处理图片工具 ImBatch 中文特别版批量处理图片工具 ImBatch 中文特别版 ImBatch 访问命令行 你是一个内容管理器或服务器管理员?就像卷起你的袖子,在命令提示符环境中工作的直接? ImBatch让高级用户使用命令行...
  • 我觉得一个批量操作工具应该考虑以下几点:(1)本质上,就是到远程主机上执行命令并返回结果。(2)做到批量。也就是要并发对多台机器进行操作。(3)将返回的结果,清晰地展示给用户。通常开源的主机批量管理工具有两类...

    1 思路分析

    在运维工作中,古老的方式部署环境、上线代码可能都需要手动在服务器上敲命令,不胜其烦。所以,脚本,自动化工具等还是很有必要的。我觉得一个批量操作工具应该考虑以下几点:

    (1)本质上,就是到远程主机上执行命令并返回结果。

    (2)做到批量。也就是要并发对多台机器进行操作。

    (3)将返回的结果,清晰地展示给用户。

    通常开源的主机批量管理工具有两类,一类是有agent,如SaltStack、Puppet等;另一类是无agent如ansible。虽然我们没必要重复造轮子,但是可以试着写一写,一是加深对这类软件原理的理解,二是练习Python。建议如果服务器规模在1000台以内的用无agent的方式也能hold住;如果超过1000台,用有agent的会好太多。

    接下来我们一起看看怎么具体实现。

    2 到远程机器上执行命令

    到远程机器上执行命令,并返回结果,至少有两种方式:一是用paramiko模块;而是可以建立机器互信,从中控执行ssh命令。

    下面我把自己封装好的代码贴一下,是基于paramiko模块封装的,ssh的大家可以自己实现:

    import paramiko

    class SSHParamiko(object):

    err = "argument passwd or rsafile can not be None"

    def __init__(self, host, port, user, passwd=None, rsafile=None):

    self.h = host

    self.p = port

    self.u = user

    self.w = passwd

    self.rsa = rsafile

    def _connect(self):

    if self.w:

    return self.pwd_connect()

    elif self.rsa:

    return self.rsa_connect()

    else:

    raise ConnectionError(self.err)

    def _transfer(self):

    if self.w:

    return self.pwd_transfer()

    elif self.rsa:

    return self.rsa_transfer()

    else:

    raise ConnectionError(self.err)

    def pwd_connect(self):

    conn = paramiko.SSHClient()

    conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    conn.connect(self.h, self.p, self.u, self.w)

    return conn

    def rsa_connect(self):

    pkey = paramiko.RSAKey.from_private_key_file(self.rsa)

    conn = paramiko.SSHClient()

    conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    conn.connect(hostname=self.h, port=self.p, username=self.u, pkey=pkey)

    return conn

    def pwd_transfer(self):

    transport = paramiko.Transport(self.h, self.p)

    transport.connect(username=self.u, password=self.w)

    sftp = paramiko.SFTPClient.from_transport(transport)

    return sftp, transport

    def rsa_transfer(self):

    pkey = paramiko.RSAKey.from_private_key_file(self.rsa)

    transport = paramiko.Transport(self.h, self.p)

    transport.connect(username=self.u, pkey=pkey)

    sftp = paramiko.SFTPClient.from_transport(transport)

    return sftp, transport

    def run_cmd(self, cmd):

    conn = self._connect()

    stdin, stdout, stderr = conn.exec_command(cmd)

    code = stdout.channel.recv_exit_status()

    stdout, stderr = stdout.read(), stderr.read()

    conn.close()

    if not stderr:

    return code, stdout.decode()

    else:

    return code, stderr.decode()

    def get_file(self, remote, local):

    sftp, conn = self._transfer()

    sftp.get(remote, local)

    conn.close()

    def put_file(self, local, remote):

    sftp, conn = self._transfer()

    sftp.put(local, remote)

    conn.close()

    当然,代码还可以重构一下哈。接下来我们看下效果:

    if __name__ == '__main__':

    h = "我的测试机IP"

    p = 22

    u = "我的用户名"

    w = "我的密码"

    obj = SSHParamiko(h, p, u, w)

    r = obj.run_cmd("df -h")

    print(r[0])

    print(r[1])

    执行之后的结果是:

    0

    Filesystem Size Used Avail Use% Mounted on

    /dev/vda1 40G 3.4G 34G 9% /

    devtmpfs 3.9G 0 3.9G 0% /dev

    tmpfs 3.9G 0 3.9G 0% /dev/shm

    tmpfs 3.9G 410M 3.5G 11% /run

    tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup

    /dev/vdb 300G 12G 289G 4% /search/odin

    tmpfs 783M 0 783M 0% /run/user/0

    tmpfs 783M 0 783M 0% /run/user/1000

    可以清晰看到第一行是命令执行的状态码,0表示成功,非0表示失败;第二行开始就是我们的命令返回结果。是不是比较清晰呢?

    3 并发执行并展示输出结果

    并发执行通常用Python3自带的线程模块就行,这里我用的from concurrent.futures import ThreadPoolExecutor。并且当拿到结果之后,我还做了一些格式化输出,比如绿色输出表示成功,红色输出表示命令执行失败,黄色表示提醒等。废话不多说,直接看代码吧!

    from concurrent.futures import ThreadPoolExecutor

    class AllRun(object):

    def __init__(self, ssh_objs, cmds, max_worker=50):

    self.objs = [o for o in ssh_objs]

    self.cmds = [c for c in cmds]

    self.max_worker = max_worker # 最大并发线程数

    self.success_hosts = [] # 存放成功机器数目

    self.failed_hosts = [] # 存放失败的机器IP

    self.mode = None

    self.func = None

    def serial_exec(self, obj):

    """单台机器上串行执行命令,并返回结果至字典"""

    result = list()

    for c in self.cmds:

    r = obj.run_cmd(c)

    result.append([c, r])

    return obj, result

    def concurrent_run(self):

    """并发执行"""

    future = ThreadPoolExecutor(self.max_worker)

    for obj in self.objs:

    try:

    future.submit(self.serial_exec, obj).add_done_callback(self.callback)

    except Exception as err:

    err = self.color_str(err, "red")

    print(err)

    future.shutdown(wait=True)

    def callback(self, future_obj):

    """回调函数,处理返回结果"""

    ssh_obj, rlist = future_obj.result()

    print(self.color_str("{} execute detail:".format(ssh_obj.h), "yellow"))

    is_success = True

    for item in rlist:

    cmd, [code, res] = item

    info = f"{cmd} | code => {code}\nResult:\n{res}"

    if code != 0:

    info = self.color_str(info, "red")

    is_success = False

    if ssh_obj.h not in self.failed_hosts:

    self.failed_hosts.append(ssh_obj.h)

    else:

    info = self.color_str(info, "green")

    print(info)

    if is_success:

    self.success_hosts.append(ssh_obj.h)

    if ssh_obj.h in self.failed_hosts:

    self.failed_hosts.remove(ssh_obj.h)

    def overview(self):

    """展示总的执行结果"""

    for i in self.success_hosts:

    print(self.color_str(i, "green"))

    print("-" * 30)

    for j in self.failed_hosts:

    print(self.color_str(j, "red"))

    info = "Success hosts {}; Failed hosts {}."

    s, f = len(self.success_hosts), len(self.failed_hosts)

    info = self.color_str(info.format(s, f), "yellow")

    print(info)

    @staticmethod

    def color_str(old, color=None):

    """给字符串添加颜色"""

    if color == "red":

    new = "\033[31;1m{}\033[0m".format(old)

    elif color == "yellow":

    new = "\033[33;1m{}\033[0m".format(old)

    elif color == "blue":

    new = "\033[34;1m{}\033[0m".format(old)

    elif color == "green":

    new = "\033[36;1m{}\033[0m".format(old)

    else:

    new = old

    return new

    if __name__ == '__main__':

    h1 = "adime01.shouji.sjs.ted"

    p1 = 22

    u1 = "odin"

    w1 = "*****"

    h = "10.129.206.97"

    p = 22

    u = "root"

    w = "*****"

    obj1 = SSHParamiko(h1, p1, u1, w1)

    obj = SSHParamiko(h, p, u, w)

    cmds = ["df -h", "ls"]

    all_obj = AllRun([obj1, obj], cmds)

    all_obj.concurrent_run()

    all_obj.overview()

    上述代码运行的结果:

    从执行结果来看,高亮显示,清新明了。既显示了各个主机的各个命令执行状态码,返回结果,最后还汇总结果,成功了多少台机器和失败了多少台机器。

    我们还可以换一下执行的命令,让命令执行失败看看:

    后期还可以包装一下,将主机、密码、批量执行的命令写在配置文件中;或再根据需要包装成命令行工具,在日常运维工作中可以适当减少人肉敲命令的繁琐。

    展开全文
  • 作为服务器运维人员都知道,日常检查和处理服务器问题几乎占据了所有时间,检查服务器的繁琐也只有他们自己能体会,这时候,要是能有个工具能帮助他们,就如雪中送炭啊。刚刚好,市面上确实出来了这么几款管理工具,...

    作为服务器运维人员都知道,日常检查和处理服务器问题几乎占据了所有时间,检查服务器的繁琐也只有他们自己能体会,这时候,要是能有个工具能帮助他们,就如雪中送炭啊。刚刚好,市面上确实出来了这么几款管理工具,你还等什么呢,赶紧一起瞧瞧。
    一、向日葵远程控制软件
      下载网页:https://www.onlinedown.net/soft/110864.htm
      向日葵远程控制软件是一款远程控制软件,通过这款软件你可以在任何地点、网络当中远程访问和管理你的电脑,可以很好地保障用户的隐私。向日葵远程控制软件广泛应用于个人电脑及网吧、校园等,这是获微软任何的软件,让远程控制更有保障。
      1、 远程桌面
      可以使用移动设备或电脑远程访问您的远端电脑桌面,采用独有的远程桌面协议,让你轻松浏览文件、观看图片、视频、电影等。
      2、桌面观看
      用于远程桌面监控,不改变被控端任何设置。
      3、远程摄像头
      实时查看远程主机摄像头周围的情况,支持多摄像头切换,实现全方位的远程监控。
      4、远程文件
      方便快捷的让远程文件或本地文件互相传输和同步,安全稳定。
      5、远程开机
      无论远程主机电脑是休眠或者关机状态,一键即可轻松开启远程主机电脑。
      二、IIS7远程桌面批量管理工具
      下载网页:http://yczm.iis7.com/?lxmd
      其实吧,从这工具的名字也看的出来,它是可以批量管理的。管理非常多的服务器、每天不定时检查及处理不同服务器的问题,每次都要输入密码和核对服务器负责人等问题,解决以上问题便是其开发的目的。
      1、批量管理WIN系列服务器,VPS,电脑。
      2、批量导入服务器的IP,端口,账号和密码
      3、批量打开N个服务器的远程桌面
      4、远程桌面后,远程窗口右上角会出现 服务器备注的信息,如郑州xxx号服务器
      5、远程桌面后,不影响任务栏显示。可以及时看其他窗口。
      6、自定义远程桌面窗口分辨率
      7、定时监测服务器是否正常
      8、服务器到期提醒
      9、可选择是否加载本地硬盘、硬盘映射
      10、可选择是否加载服务器的声音,远程声卡读取
      11、可选择是否禁用本地复制到远程的功能
      三、remotedesktopmanager(远程桌面管理工具)
      下载网页:http://www.remotedesktopmanager.cn/
      1、“remotedesktopmanager” 可以批量管理服务器、VPS,一键导入数据,批量远程连接,简单便捷,省时省力!
      2、软件支持群控,一键同时操控所有电脑,执行命令、运行程序、传输文件、关机重启,尽在弹指一挥间!
      3、还支持桌面监控,远程窗口智能排布,局部位置放大显示,实时监视每台计算机的系统及程序运行状态!
      4、您还可以添加自定义信息,设置访问密码,另有标记分组、自定义列、权限管理、备份恢复等强大功能!
      好了,其实还有很多服务器管理工具的,网上一查啥都有,其他的我就不细说了,想用的还是自己去官网好好的看看吧,操作都挺简单的,希望对大家有点帮助吧!祝我们大家运维之路前程似锦呀!

    展开全文
  • 一、背景 目前本地电脑有一个约120G压缩文件数据需要上传到阿里云服务器。 二、方案 1.首先尝试直接从本地复制文件到云服务器,在文件比较小的...3.自己开发一个上传工具,直接从本地上传到阿里云服务器,通过...

    一、背景

        目前本地电脑有一个约120G压缩文件数据需要上传到阿里云服务器。

    二、方案

    1.首先尝试直接从本地复制文件到云服务器,在文件比较小的情况下OK。这个大文件中途若遇到网络不稳定将会异常断线,pass。

    2.其次是将该压缩拆分至每个少于20G,上传至百度云盘,再从百度云盘下载至阿里云。经试验,速度太慢,Pass。

    3.自己开发一个上传工具,直接从本地上传到阿里云服务器,通过断点续传方式完成该功能。

     

    展开全文
  • 虽然现在有ansible、saltstack等批量处理工具,但是在内网环境下,这些工具还需要离线安装,安装好之后还需要学会工具的使用方法,比较麻烦;甚至还有一些比较苛刻的企业,为了服务器安全,连ssh公钥都不让推送。...
  • 在日常工作中,批量管理服务器是个力气活,如果手工一台一台处理,效率低下。此时,老外写的pssh工具实现了批量管理,它是基于python开发的,它的官方地址是:http://www.theether.org/pssh/ 。它的原理是先建立ssh...
  • ssh批量处理免密登陆

    2018-08-30 16:32:27
    使用此脚本需要安装一个工具:sshpass 步骤:1、先将该安装包上传到服务器上2、解压tar -xvf sshpass-1.05.tar.gz 3、进入cd sshpass-1.05 4、编译安装./configure makemake check #这是检测编译是否有误,如果没有...
  • shell 结合expect 写的批量scp脚本工具 except安装:http://www.cnblogs.com/lovychen/p/6525623.html expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。...
  • GNSS数据下载和批量处理

    千次阅读 2019-12-03 12:58:21
    最近在下载GNSS相关的数据的时候遇到了一些问题,故写一篇文章总结一下常见的问题希望能帮助到一些刚入门的人。...但是作为ftp服务器,很多数据下载并不是特别方便,因此我们可以使用一些工具便于我...
  • AD域服务器批量创建帐户 目的:在域管理员日常工作中,创建帐户是经常遇到工作,如何高效处理该事情。使用dsadd工具就是一个非常好的选择。一、首先在 “Active Directory 用户和计算机”中 建好域的帐户组织结构...
  • DBA很多时间会遇到需要批量处理MySQL服务器的大量连接,比如查杀导致性能变坏的连接、查杀大量空连接、或者查杀大量错误查询,因为这些查询导致服务器不可用,严重的时候导致实例挂起。我们通常有很多特殊的“脚本”...
  • 服务器网站图片优化处理工具概括介绍】 一款缩小图片容量体积的实用WEB工具,可以部署在网站目录对网站图片进行优化。 【服务器网站图片优化处理工具基本介绍】 一款缩小图片容量体积的实用WEB工具,可以部署在...
  • 但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以使用了shell和expect脚本结合的方式,写了这个批量scp的脚本工具。 expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh...
  • 它采用跨云多平台一站式批量服务器安全管理服务,全面支持各大云厂商,支持超过20多个云服务器系统版本,并集成Windows系统RDP远程桌面协议,能监控云服务器CPU、内存、磁盘、网络等资源,通过设置指标告警规则...
  • SQL Server的弱口令入侵案例层出不穷,利用工具也大量存在,本文以MSSQL服务器为切入点,以解决批量目标发现为目标,介绍了一种基于Shodan Python库的攻击方法。希望能给有类似需求的同学提供参考。0x01 基本思路...
  • 服务器管理cheungSSH

    2015-07-12 16:26:55
    服务器批量管理工具,能够管理大量服务器,批量处理命令,脚本。
  • Redis使用的是客户端-服务器(CS)模型和请求/响应协议的TCP服务器。这意味着通常情况下一个请求会遵循以下步骤: (1)客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 (2...
  • 在日常工作中,批量管理服务器是个力气活,如果人工一台一台处理,效率低下。此时,老外写的pssh工具实现了批量管理。http://www.theether.org/pssh/ 它的原理是先建立ssh私钥认证,然后用pssh工具批量管理。 ...
  • veyron 给出几种思路:1、机器少的话,可参考rsh/openssh、...3、如果服务器数据级很大(>1000),那需要考虑将工具做成client/sever 多并发了处理了。。脚本效率太低。hutuwormFunc 可以实现。Func 可以让你在

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 517
精华内容 206
关键字:

服务器批量处理工具