linux脚本

shell脚本快速配置yum源

℡╲_俬逩灬. 提交于 2020-01-30 20:43:31
我们在使用Red Hat系列与CentOS系列的 Linux系统 时经常要配置yum源,本文档提出一个快速配置yum源的方法,就是用 shell 脚本 来实现。 首先确保系统已挂载好镜像文件,然后执行vim rhel7.repo.sh 命令 ,这个 命令 是创建一个 脚本 。 在打开的文件中添加以下内 [root@linuxprobe ~]# vim rhel7.repo.sh 1 #!/bin/bash 2 3 cd /etc/yum.repos.d 4 5 cat >>rhel7.repo<<OK 6 [rhel7] 7 name=rhel7 8 baseurl=file:///media/cdrom 9 enabled=1 10 gpgcheck=0 11 OK 12 13 mkdir -p /media/cdrom 14 mount /dev/cdrom /media/cdrom 15 echo "/dev/cdrom /media/cdrom iso9660 defaults 0 0" >> /etc/fstab 16 17 yum clean all 18 yum makecache 写完脚本后记得赋予脚本执行权限: [root@linuxprobe ~]# chmod 755 rhel7.repo.sh 或 [root@linuxprobe ~]# chmod +x

一个软件构建系统的设想

老子叫甜甜 提交于 2020-01-30 10:55:41
作者:朱金灿 来源: http://blog.csdn.net/clever101 听说一些大IT公司都有自己的软件构建系统。可能有朋友问:在IDE做得越人性化的时候,为什么还需要一个软件构件系统?这是因为一个软件它需要随时准备跨越不同版本的IDE,需要跨越不同操作系统,而基于图形化界面的IDE可能永远不能提供那种快速升级IDE和一键式编译所有源码的便利。比如你现在用的是VS2008,突然要求出一个VS2010的版本;比如你在Windows平台开发,突然要求移植到Linux平台下;比如你在32位平台开发,突然要求移植到64位平台下……。 那么如何实现一个自定义的软件构建系统呢?我设想是这样的:一个软件构建系统是一个启动器+一堆脚本。一个启动器就是一个启动程序,用来运行所有编译源码的脚本,它可以是一个命令行程序,也可以是一个批处理脚本(或Linux下的shell脚本)。这个启动器如有需要,可以增加一些启动开关。一堆脚本包括编译第三方库的makefile,也包括编译自己软件的脚本(可以是makefile,也可以单纯是IDE的命令行脚本),然后编译结果都输出到指定目录下。这套构建系统在设计之初需要充分考虑其扩展性,比如不同版本的IDE,比如不同操作系统平台,比如不同的硬件平台。 初步的想法是这样。等慢慢做出来再总结下经验。 来源: https://www.cnblogs.com

Linux-批量传输文件脚本

爱⌒轻易说出口 提交于 2020-01-30 07:18:04
cp source destination cp -r /abc /def //把远程Hadoop101上的/opt/module拷贝到Hadoop102相同的位置 scp -r hadoop101:/opt/module/hadoop-2.7.7 hadoop102:/opt/module [zhenghui@hadoop101 ~]$ scp -r root@hadoop101:/opt/module/hadoop-2.7.7/ root@hadoop102:/opt/module yum -y install xinetd rsync rsync -av hadoop101:/opt/module/hadoop-2.7.7 /opt/module copypath文件脚本 #!/bin/bash pcount = $ # echo count = $pcount if (( pcount == 0 )) ; then echo no args ; exit ; fi p1 = $1 fname = $( basename $p1 ) echo fname = $fname pdir = $( cd -P $( dirname $p1 ) ; pwd ) echo pdir = $pdir user = $( whoami ) for (( host = 102 ; host

Pycharm远程调试原理及配置

若如初见. 提交于 2020-01-30 01:46:17
VSCode是MS推出的一款免费的开源并跨平台的轻量级代码编辑器,内置Git和Debug等常用功能,强大的插件扩展功能以及简单的配置几乎可以打造成任意编程语言的IDE。本文简单聊一下其本地attach和remote debug功能。 默认在vscode中打开py文件可以直接使用断点调试,使用的Debug模式为:Python: Current File (Integrated Terminal),这是针对vscode中当前打开的文件。 对于独立于vscode之外运行程序的debug,根据是否和vscode位于同一主机可以分为local attach和remote debug。 0. 配置环境 下面以python为例简单讲一下debug功能。 安装vscode版本1.31.1 python第三方库ptvsd vscode插件python 实际使用根据需要下载最新版本即可。 1. 本地Local Attach 打开vscode工程目录下的.vscode/launch.json文件,添加如下内容: { "version": "0.2.0", "configurations": [ { "name": "Python: Local Attach", "type": "python", "request": "attach", "port": 12345, "host": "127.0.0.1

linux命令S---source

此生再无相见时 提交于 2020-01-29 06:59:47
文章目录 使用范例 source filename 与 sh filename 及./filename执行脚本的区别 使用范例 source filename . filename source filename 与 sh filename 及./filename执行脚本的区别 1、当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。 2、sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。 3、source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。 来源: CSDN 作者: 勤学-365 链接: https://blog.csdn.net/qq_23929673/article/details/102557350

Python资源大全

扶醉桌前 提交于 2020-01-29 05:35:07
The Python Tutorial (Python 2.7.11) 的中文翻译版本。Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 2.7.X 系列。 在线阅读 » Fork Me » The Python Tutorial (Python 3.5.1) 的中文翻译版本。Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 3.5.x。 在线阅读 » Fork Me » Flask 是一个轻量级的 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。本教程适用于 Flask 0.10.1 以上版本。 在线阅读 » Fork Me » 探索 Flask 是一本关于使用 Flask 开发 Web 应用程序的最佳实践和模式的书籍。这本书是 Flask 官方教程的一个有力的补充材料。适合进阶使用。 在线阅读 » Fork Me » Flask Mega Tutorial 是一个非官方的很完整的 Flask 教程。 在线阅读 » Fork Me » Flask-Cache 是一个用于 Flask 作为缓存的第三方扩展。 在线阅读 » Fork Me » Flask-Exceptional 是一个为 Flask 添加 Exceptional 支持。 在线阅读

模块二、shell脚本逻辑结构

核能气质少年 提交于 2020-01-29 01:19:23
七、if结构条件句知识与实践 (一)if条件句单双分支语法 1、单分支 if 条件 then 指令 fi 2、双分支 if 条件 then 指令 else 指令集2 fi (二)if条件句多分支语句 if 条件1 then 指令1 elif 条件2 then 指令2 elif 条件3 then 指令3 else 指令4 fi 实例: 如果不存在目录/backup,则创建。 [root@centos6-kvm3 scripts]# cat 07-01.sh #!/bin/bash path="/backup" [ -d $path ] || mkdir $path -p if [ -d $path ] then : else mkdir $path -p fi if [ !-d $path] then mkdir $path -p fi [root@centos6-kvm3 scripts]# 开发shell脚本判断内存是否充足,如果小于100,提示不足,如果大于100提示充足。 [root@centos6-kvm3 scripts]# cat 07-02.sh #!/bin/bash mem=`free -m | awk 'NR==3{print $NF}'` if [ $mem -lt 100 ] then echo "内存不充足!" else echo "内存充足!" fi

MySQL备份脚本-亲试ok

坚强是说给别人听的谎言 提交于 2020-01-28 16:37:34
#!/bin/bash # 以下配置信息请自己修改 mysql_user="USER" #MySQL备份用户 mysql_password="123456" #MySQL备份用户的密码 mysql_host="localhost" mysql_port="3309" mysql_charset="utf8" #MySQL编码 backup_db_arr=("sys" "mysql") #要备份的数据库名称,多个用空格分开隔开 如("db1" "db2" "db3") backup_location=/data #备份数据存放位置,末尾请不要带"/",此项可以保持默认,程序会自动创建文件夹 expire_backup_delete="ON" #是否开启过期备份删除 ON为开启 OFF为关闭 expire_days=3 #过期时间天数 默认为三天,此项只有在expire_backup_delete开启时有效 # 本行开始以下不需要修改 backup_time=`date +%Y%m%d%H%M` #定义备份详细时间 backup_Ymd=`date +%Y-%m-%d` #定义备份目录中的年月日时间 backup_3ago=`date -d '3 days ago' +%Y-%m-%d` #3天之前的日期 backup_dir=$backup_location/$backup_Ymd

Linux下的MySQL自动备份脚本

故事扮演 提交于 2020-01-27 10:10:30
写了个Linux下的MySQL备份脚本 这是第一版,只支持备份一个数据库,每天晚上2点用定时器把这个脚本跑一下就自动备份好了。后续会做可支持备份多个数据库,备份失败短信发送到手机,自动清除过期备份。 #!/bin/bash #Script:backup_mysql #Version:Release 1.0 #author:www.dba-china.com #date:2011-10-26 backup_time=`date +%Y%m%d%H%M` #定义备份详细时间 backup_Ymd=`date +%Y%m%d` #定义备份目录中的年月日时间 backup_7ago=`date -d '7 days ago' +%Y%m%d` #七天之前的日期 backup_dir=/backup/mysql/$backup_Ymd #备份文件夹全路径 backup_database="dba-china" #要备份的数据库名称 mysql_user="root" mysql_password="root" #mysql_host="localhost" #mysql_port="3306" #判断MYSQL是否启动,mysql没有启动则备份退出 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep

shell脚本-重定向

青春壹個敷衍的年華 提交于 2020-01-27 03:55:31
写脚本代码的时候重定向是一个很重要的功能,比如打印日志什么的都需要用到。 大体来说: 重定向分为两种,一种叫临时重定向,一种叫长久重定向。 临时重定向就是每次在输出的时候都必须指定重定向:   echo  good for u   > log 这里实际上省略了一个1(标准输入),代表将标准输入转向到log中。 linux每个进程都有0, 1, 2 三个文件描述符。 重定向就是将这些文件描述符关联到相应的文件(设备), 比如默认的是0关联到标准输入,1关联到标准输出, 2关联到标准错误 如果你觉得你需要将他们关联到不同的地方那么就 进行重定向----实际上就是改变0,1,2 关联到的文件, 比如上面的例子, 1 默认关联的是标准输出,也就是显示器, 经过上面 的更改, 那么1 现在关联到了log文件之中。 我们echo 输出 总是输出到 文件描述符1 中的。 如果1 关联的是显示器就输入到显示器上, 1 关联的是log文件,那么就显示到log文件上 举个栗子:     0  -----  键盘     1  -----  显示器          2  -----  显示器 重定向就是改变对应关系。经过上面的命令后,对应关系变成了这样。 注意程序中的输入输出都是操作的文件描述符(也就是0,1,2这些数字),这些数字关联什么设备就从对应的设备进行 操作,这点明白后就了解重定向了。