1:统计出现在次数
2:awk中的if
3:得到目录下文件大小
4:查看第n行以后的内容
5:保持程序关机后自动运行 crontab 必须先cd到目录,在sh
如果手动可运行crontab不能运行则为环境变量有关
转自:
不要假定cron知道所需要的特殊环境,它其实并不知道。所以你要保证在shelll脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。所以注意如下3点:
1)脚本中涉及文件路径时写全局路径;
2)脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:
cat start_cbp.sh
#!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &
3)当手动执行脚本OK,但是crontab死活不执行时。这时必须大胆怀疑是环境变量惹的祸,并可以尝试在crontab中直接引入环境变量解决问题。如:
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh
3. 其他应该注意的问题
1)新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。
2)每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。
3)当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。
4)千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。
5)在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’`。
6:shell中的比较
大于 -gt (greater than)
小于 -lt (less than)
大于或等于 -ge (greater than or equal)
小于或等于 -le (less than or equal)
7:查看设备的外网ip
8:查看操作日志
9:windows下写shell,不能进行解决
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
2)也可在Linux中转换:
首先要确保文件有可执行权限
#sh>chmod a+x filename
然后修改文件格式
#sh>vi filename
利用如下命令查看文件格式
:set ff 或 :set fileformat
可以看到如下信息
fileformat=dos 或 fileformat=unix
利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
:wq (存盘退出)
最后再执行文件
#sh>./filename
10:查看日志(过滤)
11:查看设备到设备的链路情况(出现***为链路不好,内网设备为***)
12:run.sh(如果程序在运行就打出Pid ,)
cd /Application/billing/normandy
if ps U bill -Ho cmd | grep normandy.jar | grep -v grep > /dev/null
then
pid1=`ps U bill -Ho pid,cmd | grep normandy.jar | grep -v grep | head -1 |awk '{print $1}'`
echo "normandy.jar is running! main process id = $pid1"
else
if $JAVA_HOME/bin/java -jar normandy.jar ; then
echo normandy.jar complete `date +'%Y-%m-%d %H:%M'`
else
echo normandy.jar failed `date +'%Y-%m-%d %H:%M'`
fi
fi
13:批量更改文件用户
14:复制文件目录结构(包含子目录)
mkdir -p ./transfers/aaa; 当前目录创建目录结构包含子目录
15:判断文件是否已经更新
16:后台运行
17:移动文件时因为文件太多出错解决
18:关闭iptables
19:同步文件脚本(同步完成后会删除文件)
ls /proclog/transfers/FCBill_1/ >/data/list
for i in `cat /data/list`
do
rsync -av /proclog/transfers/FCBill_1/$i 目录ip::idc
rm -rf /proclog/transfers/FCBill_1/$i
done
scp:
(2)从远程将文件拷回本地:scp 用户名@计算机IP或者计算机名称:文件名 本地路径
(3)将本地目录拷贝到远程:scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径
(4)从远程将目录拷回本地:scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径
20:ftp(批量)
输入用户名密码后
mput *.tgz
2: ftp 223.202.44.21
输入用户名密码后
prompt
mput *
21:取到目录 下的前n个文件
22:查看历史记录
history命令可以查看命令的执行历史。
23:查看域名所对ip
> www.google.com
24:查看用户下的指定程序的pid
查看程序占用的cpu
参数的含义:
pid - 进程ID
args - 该进程执行时传入的命令行参数
psr - 分配给进程的CPU
25:echo输出不换行(下一个输出在一行)
26:修改root密码
或者是 sudo su - 就可以变成管理者
27:修改登入级别
28:修改主机名
NETWORKING=yes
HOSTNAME=主机名
29:批量建目录
查看目录结构
30:snmpwalk 得到64位数据(与oid有关:1.3.6.1.2.1.2.2.1.16)
31:查找 命令 安装 目录
32:关闭SELinux(是美国国家安全局(NSA)对于强制访问控制的实现)
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
33:关闭iptable
chkconfig iptables off 关闭
chkconfig --list iptables 列出所有规则
34:查看系统信息
uname -a
35:负载
w
uptime
36:查看ssh连接
37:T人
who am i 查看哪个是自己的
pkill -kill -t pts/1 把pts/1提了 -9强制T
38:多条命令
mkdir /root/aaaa & mkdir aaa 第一个失败,第二个也会执行
39:批量创建文件及目录
mkdir 456{1,2,3,4,5} 会在目录中生成(4561,4562,4563,4564,4565)五个文件夹
脚本
(user是文件夹的前缀,10000是要创建文件夹的书目))
var1=1
while test $var1 -1e $2
do
mkdir $1$var1
var1=expr $var1 + 1
done
40:自启动
# chkconfig --level 35 keepalived on
# chkconfig --list keepalived 查看
详解参数
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
41:iptables 加入80访问
42:监控脚本,循环命令
watch -n 1 命令 #刷新时间,默认2s
43:连接数
netstat -nat||grep ESTABLISHED #查看正在传输的
netstat -na||grep ESTABLISHED #所有信息
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数
44:设置系统时间
持续更新中。。。
相关推荐
《IT系统运维中的知识转移研究》一文深入探讨了IT系统运维过程中知识转移的重要性与实施策略,对于理解和优化IT运维组织的知识管理具有重要的参考价值。本文将基于该论文的标题、描述、标签及部分内容,详细解析其中...
终端运维知识库 终端运维知识库是 IT 行业中的一份重要的参考资料,涵盖了计算机硬件和软件的各个方面。下面是对该知识库中的一些重要知识点的详细解释: 一、 硬件知识 硬件知识是计算机运维的基础,了解计算机...
企业在推进信息化的过程中,主要有三方面的成员 参与:企业,咨询公司和系统集成商。其中,企业是用 户,咨询公司是解决方案的提供者,系统...同时,在信息系统(即,IT系统)的运维过 程中,培训也将发挥重要的作用。
尝试一些运维相关的知识或者记录,包括Linux命令,运维基础知识等_devops
总结一些运维人员及面试的时候常被问到的知识点,包括网络方面的还有操作系统,应用服务等,相当的全面。
运维架构层级/运维角度
"电子运维知识库管理系统建设方案推荐" 本文档提供了电子运维知识库管理系统建设方案的推荐方案,涵盖了系统的建设背景、建设原则、建设内容、系统体系结构、系统功能、软硬件平台方案等方面的内容。 建设背景 ...
运维知识体系 运维知识体系是一个涵盖了IT行业各个方面的知识体系,涵盖了从基础设施到应用层面的各个方面,包括监控体系、自动化、DevOps、云计算、浏览器、DNS缓存、智能DNS、公共DNS、GSLB、反向代理缓存、...
IT运维管理基础知识学习教案.pptx
运维需要的知识总结 部署知识总结;没有具体的知识点,有我们需要系统整理的知识点而已
标题中的“史上最全的运维知识,操作手册,案例,电力知识”揭示了这个压缩包包含的内容广泛且深入,主要涵盖了运维、操作流程、实例分析以及电力领域的专业知识。这些资源是IT运维人员提升技能、解决问题的重要参考...
运维知识体系
总的来说,面向智慧运维的分布式光伏知识库构建方法通过改进的实体提取和实体关系提取技术,提升了知识库的质量和应用价值,为分布式光伏系统的高效运维提供了强有力的知识支持。这一研究方向的发展,将进一步推动...
标题中的“史上最全的运维知识,操作手册,案例,电力知识”揭示了这个压缩包包含的内容广泛且深入,涵盖了IT运维、操作实践、具体案例以及电力行业的特定知识。描述中的MD5、SHA1和CRC32是文件校验码,用于确保文件...
甲方项目运维管理知识体系和规范制定,从网上得来的资料,欢迎一起学习。
内容概要:该文章研究了风电机组运维的知识图谱构建方法及其应用,针对风电机组运维信息高维、互联和规模攀升的特点,提出了一种一体化的知识图谱构建方法。方法包括基于TextRank算法和Word2vec模型的实体识别与关系...
本教程旨在帮助安全运维人员掌握信息系统安全运维的知识和技能,从而提高信息系统的稳定运行和安全性。以下是教程的详细知识点: 1. 信息系统概述: 信息系统是一个承载和传输信息的系统,具有承载性、传输性、...
运维知识体系.docx运维知识体系.docx运维知识体系.docx运维知识体系.docx运维知识体系.docx运维知识体系.docx运维知识体系.docx运维知识体系.docx运维知识体系.docx
本文将详细解析IT运维的五大基础知识,帮助读者深入理解运维的核心技能。 首先,对于微软系统,尤其是Windows平台,运维人员需要精通Active Directory及其相关的服务配置,如ISA(Internet Security and ...
详细的总结了运维知识体系,让运维人员对整个运维工作有了更加深刻的认识。