摘要:
在Linux系统中,我们经常需要创建脚本,然后将脚本上传到生产环境的服务器,部署脚本并进行授权,然后创建作业. 如果公司部署了Ansible自动化运维工具话,那么可以批量部署处理.如果没有Ansible这类自动化运维工具的话,我们可以通过脚本打包/安装/部署脚本,避免一台台服务器手工处理. 下面通过 阅读全文
随笔分类 - Unix&Linux技术
shell编程技巧——循环逻辑中使用变量引用方式注意事项
2025-09-02 16:14 by 潇湘隐者, 75 阅读, 收藏,
摘要:
在shell脚本编程中,因为shell脚本的灵活多变与技巧多样性, 我们为了脚本的健壮性,我们经常会定义一些规范,例如变量, 我们一般不用$var, 而用"$var"或"${var}"这种变量引用方式,但是往往它们之间的一些细微差别可能让你的shell脚本产生完全意想不到的的效果. 下面我们通过一个 阅读全文
db_expdp_data_v1.sh导数脚本分享
2025-08-06 22:44 by 潇湘隐者, 28 阅读, 收藏,
摘要:
脚本介绍 在日常运维工作中,经常会有使用数据泵导数的需求.遇到这种需求,经常需要手写一个导数的脚本或者去找一个导数脚本的例子进行修改. 这样重复的工作,虽然没有很复杂,突然有一天意识到应该避免这样重复、琐碎、繁杂的工作. 工作就要提升效率与自动化,可以优化的流程和方法,尽量优化,能简单的尽量简单.哪 阅读全文
shell编程技巧——${1-}的意义是啥?
2025-08-05 10:55 by 潇湘隐者, 93 阅读, 收藏,
摘要:
在shell脚本中,如果看到${1-}或"${1-}"这样的写法(变量),你知道它的具体意义吗? if [ -z "${1-}" ] ; then .....#省略部分代码 fi 其实${1}表示脚本第一个参数的值,而在Shell 脚本中,${1-}是一种参数扩展(Parameter Expansi 阅读全文
Linux如何限制ssh连接总结
2025-06-25 14:02 by 潇湘隐者, 337 阅读, 收藏,
摘要:
在Linux服务器上,如果没有使用堡垒机的话,那么需要去限制/允许哪些IP能够通过ssh连接访问服务器,下面简单总结一下限制ssh连接访问的方法. TCP Wrappers控制 一般需要通过配置/etc/hosts.allow和/etc/hosts.deny来允许/限制用户ssh连接. 其中/etc 阅读全文
stty: 'standard input': Inappropriate ioctl for device
2025-02-14 16:38 by 潇湘隐者, 0 阅读, 收藏,
该文被密码保护。 阅读全文
Linux平台mailx发邮件突然出现附件ATT00001.bin的情况总结
2024-11-26 10:51 by 潇湘隐者, 285 阅读, 收藏,
摘要:
现象描述 最近发现我们监控作业偶尔会发出带有附件ATT00001.bin的邮件,而大部分时候,它都发出带有内容的邮件,以脚本mysql_slowlog_monitor.sh来说, 平时会将慢查询分析报告放在邮件的正文发给DBA,慢查询分析报告的内容放在邮件中,出现问题的时候,邮件正文没有内容,它只有 阅读全文
shell脚本技巧—创建和清空文件
2024-10-22 16:46 by 潇湘隐者, 423 阅读, 收藏,
摘要:
写这篇文章的起因是因为在分析一个脚本时,看到这么一句脚本,如下所示 ................................>$RMAN_BACKUP/script/rman_backup.sql................................ 最开始我以为它就是将文件rma 阅读全文
shc加密shell脚本总结
2024-09-30 09:28 by 潇湘隐者, 2124 阅读, 收藏,
摘要:
shc介绍 shc是shell编译器(Shell Compiler)的缩写, 它可以对shell脚本进行编译和加密。它能够将shell脚本编译为可执行的二进制文件,其中包含了脚本的功能和逻辑,而不暴露源代码。可以说shc就是一个加密shell脚本的工具。shc的官方网址为:http://www.da 阅读全文
Linux中atime,ctime与mtime的细节疑问总结
2024-04-29 23:04 by 潇湘隐者, 954 阅读, 收藏,
摘要:
在Linux文件系统中,每一个文件都有三个时间属性,它们分别是atime,mtime,ctime,一般来说,atime比较好理解,但是很多时候,我们往往会混淆mtime和ctime这两个时间属性,或者搞不清楚两者的区别。在展开介绍之前,我们先来看看如何查看文件的atime,mtime,ctime属性 阅读全文
shell脚本中main函数中$#获取不到脚本传入参数个数浅析
2024-03-14 11:01 by 潇湘隐者, 344 阅读, 收藏,
摘要:
Linux的shell脚本,有时候我们在运行shell脚本时会给脚本传入参数,出于逻辑上的严谨,在脚本中可能会做一些逻辑判断或处理,例如判断脚本传入参数的个数。一般我们会用$#获取传入参数的个数,假如,我们在shell脚本的main函数中去判断脚本传入参数的个数,类似如下所示: .........f 阅读全文
Linux grep命令与$?命令结合使用技巧
2023-07-13 22:39 by 潇湘隐者, 950 阅读, 收藏,
摘要:
今天检查前同事留下的一个shell脚本时,其中一个脚本中有一个业务逻辑处理:要判断Oracle数据库实例是否启动,如果数据库实例处于OPEN状态的话,则执行/运行一些业务逻辑操作。脚本大体如下(脚本做了一下混淆和精简收缩) up_flag=`${SCRIPT_DIR}/chkdbup.sh ${OR 阅读全文
Linux下alternatives命令学习总结
2023-07-07 11:49 by 潇湘隐者, 2551 阅读, 收藏,
摘要:
在Linux系统中提供了一个alternatives命令,用于在多个同功能的软件,或软件的多个不同版本间选择、切换。简单来说就是版本切换控制。例如,你的操作系统有多个Python版本,例如python3.6,Python 3.9,如果不用alternatives命令,那么你可能需要通过手工修改软链接 阅读全文
Linux xfs文件系统stat命令Birth字段为空的原因探究
2023-05-10 22:31 by 潇湘隐者, 768 阅读, 收藏,
摘要:
在Linux平台找出某个目录下创建时间最早的文件,测试验证脚本结果是否准确的过程中发现一个很有意思的现象,stat命令在一些平台下Birth字段有值,而在一些平台则为空值,如下所示: RHEL 8.7下, XFS文件系统 [mysql@mysqlu02 ~]$ more /etc/redhat-re 阅读全文
HP-UX下du命令使用技巧
2023-04-27 13:43 by 潇湘隐者, 421 阅读, 收藏,
摘要:
本人习惯了Linux环境的du命令,在HP-UX下,发现du命令真的非常难用,有种让人很难受的感觉。主要是因为HP-UX下的du命令参数比Linux平台du命令参数要少很多,尤其是没有-h这个参数,它只能以kb形式显示文件/文件夹的大小,对于我来说,看起来非常不直观。下面是工作中,HP-UX平台使用 阅读全文
Postfix发送邮件时报错“libmysqlclient.so.18: cannot open shared object file: No such file or directory”
2022-03-14 23:13 by 潇湘隐者, 1684 阅读, 收藏,
摘要:
在一台Linux服务器上使用postfix发送邮件时遇到上面错误: sendmail.postfix: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No suc 阅读全文
ulimit: open files: cannot modify limit: Operation not permitted
2021-11-10 23:11 by 潇湘隐者, 7863 阅读, 收藏,
摘要:
统管理员刚给授权了一台Linux服务器访问权限,我在JumpServer登录的时候,遇到下面错误: Last login: Wed Nov 10 13:29:30 2021 from 172.16.11.4 -bash: ulimit: open files: cannot modify limit 阅读全文
ntpd dead but pid file exists
2021-05-17 12:04 by 潇湘隐者, 1313 阅读, 收藏,
摘要:
Zabbix监控的一台Linux主机告警:“System time is out of sync (diff with Zabbix server > 60s)”,一检查发现时间居然滞后一个多小时了。这台Linux设置过ntpd服务,ssh登录主机,检查ntpd服务,发现报下面错误: # servi 阅读全文