linux下如何写个SHELL脚本,每天执行这么几句命令:

说到Linux运维,用Shell脚本自动处理一些重复任务,确实能省不少事儿。
下面我给大家分享一个简单的脚本例子,顺便说说怎么让它在每天自动运行。

首先,咱们得写个Shell脚本。
比如这个脚本,它主要做的是先找到某个特定进程的PID,然后结束这个进程,最后重启httpd服务。
脚本内容大致是这样:
bash !/bin/bash PRO=$(ps ax | grep httpd | awk '{print $1 }') kill -9 $PRO service httpd start
这个脚本怎么工作呢?它用ps命令找出所有httpd进程,然后用grep过滤,最后用awk提取出进程ID,存到变量PRO里。
接着用kill -9 强制结束这个进程,最后用service httpd start重启httpd服务。

要是想让这个脚本每天自动运行,就得用crontab来设置定时任务了。
比如,我设置它在每天凌晨1 点执行这个脚本,可以这样写:
0 1 /usr/local/encode/apachectl restart
这条crontab命令的意思是,每天凌晨0点(也就是2 3 点)执行/usr/local/encode/apachectl restart这个命令。
这里的apachectl是httpd服务的控制脚本,它必须能在执行路径下直接调用。
如果httpd服务装在其他地方,比如/home/httpd,那这条命令就得改成:
0 1 /home/httpd/apachectl restart
最后,别忘了检查一下执行crontab任务的用户有没有权限访问这些脚本文件。
一般情况下,crontab任务是用root用户身份运行的,所以脚本文件的权限得设置好,让root用户可以执行。
如果权限不够,脚本可能就跑不通了。

总的来说,用Shell脚本加上crontab,就能把Linux系统里的服务进程给自动化管理起来,运维效率立马就上去了。

如何在linux系统中运行.sh文件(shell脚本),以一键部署nginx为例子

在Linux的世界里,用.sh脚本一键部署nginx这事儿,可以说是老生常谈了。
我给你捋捋具体咋操作吧:
先说前提:
你得对Linux有点基础,知道docker是啥,会用基本命令,还得有个SSH连接工具,像FinalShell啥的,都得安排上。
操作环境是在你自己的云服务器上。

准备工作:
你得找个合适的nginx部署脚本,腾讯云的有,个人博客里也有,找个叫nginx.sh的下载下来,保存在服务器上的一个目录里,比如/home/shell。

操作步骤:
1 . 导航到.sh文件位置:
使用命令cd /home/shell,进入存放nginx.sh的目录。

2 . 赋予执行权限:
确保你的.sh文件能执行,用chmod +x nginx.sh给它加个执行权限。

3 . 执行脚本:
在当前目录下直接运行./nginx.sh,脚本会问你想要安装哪个版本的nginx,安装好了之后,它会告诉你路径和配置信息。

还有一种方法:
如果你想要用绝对路径执行,可以输入/home/shell/nginx.sh或者sh /home/shell/nginx.sh。
这样你就可以从任何目录启动这个脚本了。

总结:
以上就是我在Linux系统中运行.sh文件,实现nginx一键部署的步骤。
你可以按照这些步骤操作,应该没什么问题。

linux启动sh文件linux启动sh

嘿,小伙伴们,今天来聊聊Linux里的那个sh命令!简单来说,sh命令是用来执行shell脚本的。
比如你有一个文件叫a.sh,里面写着脚本,直接运行./a.sh,它就会用脚本第一行指定的shell(比如!/bin/bash)来执行里面的语句。
而如果你运行的是sha.sh,它就直接用sh来执行。

说到执行路径,你可能还会遇到这种情况:./a.sh可以确定文件路径,但sha.sh就一定要在a.sh所在目录里运行。
至于安装软件时遇到的start.sh,那可是一个服务启动脚本。
你把文件解压后,会发现一个start.sh,进到那个目录,用sh start.sh或者直接./start.sh就能启动服务了。

想通过sh打开程序,写个sh脚本?首先得给文件执行权限,比如a.sh,就输入chmod +x a.sh,然后就能直接运行了。
记住,这样运行是默认在当前目录下的,不在当前目录就要用绝对路径,比如/opt/a.sh或者/opt/test/a.sh。

Linux启动后想调用自己写的脚本?通常脚本开头是!/bin/sh,这告诉系统用哪个shell来执行这个脚本。
接下来就是各种命令了。
Linux脚本功能强大,可以结合模块化的命令,写出复杂的程序。
但写复杂脚本得先掌握基础知识,比如if-then、case-esac等结构。
别忘了,给脚本加上执行权限哦,用chmod+x ./file.sh,或者直接sh ./file.sh也是可以的。

想要深入学习Linux命令和shell脚本?我推荐《Linux就该这么学》这本书,学起来很实用呢!

linux小技巧启动器的shell脚本会调用xterm来运行的解决办法

嘿,大家好!今天咱们来聊聊在Mate1 .8 .1 桌面环境下,针对CentOS7 .0和ArchLinux2 01 4 .1 0.01 两个系统版本的小技巧。
这两个版本是我自己用过的,所以分享给你们。
这个方法可能对其他遇到类似问题的发行版也适用哦。

先说问题,按照以前的办法,我们在面板里放一个指向.sh脚本的启动器,比如这个:/home/myname/Scripts/pacman_Update.sh。
结果呢,运行的时候默认会用xterm来执行,这界面看着不舒服,操作也不习惯,最糟糕的是,它还不支持粘贴功能。

那怎么解决呢?很简单,你需要把启动器的指向改成这样:/usr/bin/mate-terminal-x/bin/sh-c'/home/myname/Scripts/pacman_Update.sh',而且记得把启动类型从“终端上的程序”改为“应用程序”哦。
这样一调整,问题就解决了。

如果这篇文章帮到了你,记得转发和分享哦,感谢阅读,希望我的小技巧能帮到你。
别忘了继续关注我,我会努力带来更多实用的小技巧!