来源:http://sexywp.com/bash-how-to-get-the-basepath-of-current-running-script.htm 如题,一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无论脚本在什么目录执行,都应该起到相同的效果,但是有些时候,我们设计一个软件包中的工具脚本,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个目录执行你的程序,就有了本文的题目. 当然,更简单的办法,是给一个配置文件,要使用,必须先配置,告知脚本自己所在的根目录. 此外还有…
. 自动执行的shell脚本中,使用top -n > log.txt, 上电自动执行,文件无输出,使用一下命令解决: //usr/bin/top -d -n -b > log.txt 如果手动执行脚本,上述两句都可成功执行...目前无解... . 把命令换成 top -c -b -n -w 300就可以了.源自stackoverflow上的解答 cpu_1=`/usr/bin/top -d -b -p $chatserver_pid -n |`…
  上周迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器的数据,数据有更新,并找到了rsync服务,从其他服务器传输数据,那么如何找到这台服务器?因为是从远程传输到本地,而且不是很频繁,手动查找通信记录,没有结果.写了一个脚本进行跟踪下,考虑到通信时间短的问题. 需要每秒执行一次命令,通过linux自带的cron却不能实现,新版的cron据说可以精确到秒. 1.编写shell脚本: #!/bin/bash while [ true ]; do /bin/ netstat -n |…
本文转载自:https://blog.csdn.net/tototuzuoquan/article/details/73251616 1.Azkaban实战 Azkaba内置的任务类型支持command.java Command类型单一job示例 1.创建job描述文件 vi command.job #command.job type=command command=echo 'hello' 2.将job资源文件打包成zip文件 zip command.job 3.通过azkaban的web管理…
Linux centos开机执行shell脚本 Linux centos开机执行 java  jar 1.编写jar执行脚本 vim start.sh 加入如下内容(根据自己真实路径与数据进行编写) #!/bin/shJAVA_HOME=/usr/local/java/jdk1.8.0_181CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME PATHjava -jar /home/app/test/80…
Linux上面执行定时任务,我们可以利用crontab -e直接编辑定时任务 另外我们还可以写好shell脚本,定时去执行shell脚本,这两个方法都可以起到定时执行的作用 下面我详细说一下入如何执行shell脚本 1.声明一下我安装的lnmp环境,shell脚本存放的位置在 /usr/local/sbin路径下面 新建一个test.sh #! /bin/bash echo "yes" >> /home/abc.txt 保存完毕后记得给予权限 chmod 777 test.…
平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找了一些批量处理的脚本,包括批量传输(scp)文件到多台机器上.批量执行命令到多台机器.还有需要交互的命令,下面记录一些这些命令: 机器IP文件:ip.txt 192.168.10.201 192.16…
例如shell脚本在centos系统中能正常执行,而在ubuntu系统中执行会出现类似Syntax error: "(" unexpected的错误,一般这种是因为sh与bash有些地方不兼容,解决方式: 1.执行bash xx.sh 2.执行chmod +x xx.sh对shell脚本赋予执行权限,之后执行./xx.sh…
rc.local的日志内容默认是/var/log/boot.log /etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把/etc/rc.d/rc.local里面的指令或脚本不能执行的日志写入/var/log/messages,或者/var/log/boot.log里,自己验证 下面的配置会把rc.local里要执行的sh脚本的日志内容输出到/tmp/rc.local.log里 exec 1>/tmp/rc.local…
问题出现的场景大概就是 1  cron调用一个python脚本 2  python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件 类似一个监控任务. 直接运行python脚本没有问题,可是写在cron中之后.shell脚本中的相对路径就找不到了,总是提示无法找到某些文件 后来解决的问题就是使用log文件的绝对路径,执行就正常了. google了一些,发现非常多人也遇到过类似的问题,可能和cron的机制有关系. 大部分人的问题都是由于环境变量造成的.由于cron是一个独立…