首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bash运行脚本的几种方式 转

bash shell 脚本执行的方法有多种,本文作一个总结,供大家学习参考。 假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。...方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh。.../,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之内,也就是说,不在环境变量PASH的内容之中。...方法二:以绝对路径的方式去执行bash shell脚本: /data/shell/hello.sh 方法三:直接使用bash 或sh 来执行bash shell脚本: cd /data/shell bash...方法四:在当前的shell环境中执行bash shell脚本: cd /data/shell . hello.sh 或 cd /data/shell source hello.sh 前三种方法执行shell

2.3K10

封装Python代码:如何在未安装Python的情况下运行Python脚本

可以像计算机(Windows、Mac或Linux)上的任何程序/应用程序一样运行脚本,无需Python,无需安装库。 在某些时候,可能希望将你的Python脚本提供给其他人在他们的机器上运行。...使用Pyinstaller封装Python代码 Pyinstaller是一个Python库,可以为你封装Python脚本,并且非常易于使用。...根据官方描述: PyInstaller读取你编写的Python脚本,分析你的代码,以发现脚本执行所需的所有其他模块和库。...freeze_eg.py”是你要封装的脚本名称,因此必须将其更改为你的文件名。...然而,该文件夹仍然包含大量文件,其他人可能会混淆要运行哪个文件。pyinstaller方便地提供了一些非常酷的命令行输入参数,我们可以使用它们。

3.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?

    本文将介绍如何编写一个自动关闭某个进程的脚本,并使用cron定时执行。在本文中,我们将以关闭Java进程为例进行讲解。编写关闭进程脚本首先,我们需要编写一个用于关闭进程的脚本。...我们可以使用kill命令来关闭指定进程。为了实现自动化,我们需要知道进程的PID(进程ID)。我们可以使用pgrep命令来查找进程的PID。下面是一个简单的关闭Java进程的脚本:#!...设置定时任务一旦我们编写了自动关闭进程的脚本,就可以在Linux系统中设置一个定时任务来定期执行这个脚本。Linux系统提供了一个非常强大的工具,cron,来实现这个功能。...我们可以使用crontab命令来编辑cron定时任务。...总结在本文中,我们介绍了如何编写一个自动关闭某个进程的脚本,并使用cron定时执行。这种方法可以帮助我们避免由于进程占用过多资源导致服务器性能下降的情况发生。

    1.7K40

    《Linux命令行与shell脚本编程大全》第十六章 控制脚本

    16.1.5 修改或移除捕获 在脚本中的不同位置进行不同的捕获处理,需要重新使用带有新选项的trap命令。 修改了信号捕获后,脚本处理信号的方式就会发生变化。 也可以删除以及设置好的捕获。...列出等待的作业 atq命令可以查看系统中有哪些作业在等待。 我的atq是自己装的,好像不会默认安装。 ? 作业列表列出了作业号,系统运行该作业的日期以及所在的作业队列。上面的都在a队列。...格式如下: min hour dayofmounth month dayofweek command dayofmounth:指定月份中的日期值(1-31) dayofweek:表示指定周的第几天 cron...$cron -e 如果要设置定时运行自己的程序,就需要添加条目了。 3.浏览cron目录 有4个预配置的cron脚本目录可以供我们使用。hourly,dialy,monthly,weekly。...anacron不会处理执行时间需求小于一天的脚本 16.6.3 使用新的shell启动脚本 如果每次运行脚本的时候都能够启动一个新的bash shell,将会非常的方便。

    3K61

    【Linux】系统学习Crontab定时任务

    目前服务器端的运行环境大多数为 Linux,在日常的运营和维护中会有很多需要定期执行的操作,其中有些操作是可以机械的定期执行的操作,所以我们可以使用 crontab 定时服务来设置定时任务,从而减少手动操作的任务...2.contab 配置文件格式 * * * * * [username] my command 分 时 日 月 周 [执行用户名] 要运行的命令...生效[添加环境变量],后使用sh执行脚本文件 * * * * * source /etc/profile;sh /root/test.sh * * * * * source /root/.bash_profile...$(date +%F_%H%M) 获取系统的日期时间,并拼上日期(%F),再拼上小时(%H)和分钟(%M) =》 [2018-03-16_0715] 3). www_src = $basedir/www_src.../$(date +%F_%H%M) 使用变量 basedir 的值,再拼接出多层目录,赋值给 www_src[值为/data/backup/www_src/{当前日期时间的目录(动态)}] 4). [

    1.5K20

    07_Linux基础-计划任务-备份脚本-变量定义和使用

    @TOC07_Linux基础-计划任务-备份脚本-变量定义和使用---一....进程 最低的时间间隔是1分钟)==(注:时间不能冲突 日期和星期不能冲突)# # cd ==/var/spool/cron/(注:统一存放计划任务的目录,一个用户对应一个文件名)==# lscali...crond每周去执行的事情==(注:# ls cron.daily logrotate(每天都会执行,crond每天运行一次(脚本,用sh执行))\# ls cron.hourly0==anacron...脚本是背后执行的,用echo)$ crontab -e/1 * * * bash /home/xull/file_num.sh$ 切换到root用户$ exit# cd /var/spool/cron...=左右不能有空格linux系统里的环境变量都是大写的自定义变量尽量使用小写变量尽量要先定义后使用shell里如果变量没有定义,输出的是空值# sc_sg=zhangxueyou# echo $sg_sg

    1.2K30

    Linux 应急响应入门:入侵排查应该这样做

    )" 注意:无密码只允许本机登陆,远程不允许登陆 2、文件:/etc/shadow # 用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数...:history -c 该操作并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录 检查端口连接情况: netstat -antlp | more 使用 ps 命令,分析进程...启动Linux系统时,会运行一些脚本来配置环境——rc脚本。...这个守护进程开始运行/etc/init.d/rc中的一些脚本。...这些脚本包括一些命令,用于启动运行Linux系统所需的服务 开机执行脚本的两种方法: 在 /etc/rc.local 的 exit 0 语句之间添加启动脚本。

    84920

    TryHackMe之Linux提权

    Cron Jobs提权 Cron jobs用于在特定时间运行脚本或二进制文件。默认情况下,它们以其所有者而不是当前用户的权限运行。...提权原理就是如果有一个以 root 权限运行的计划任务,并且我们可以更改将要运行的脚本,那么我们的脚本将以 root 权限运行 Cron jobs配置以 crontab(cron 表)存储以查看任务将运行的下一个时间和日期.../bin/bash bash -i >& /dev/tcp// 0>&1 系统管理员需要定期运行脚本。...如果未定义脚本的完整路径,cron 将引用 /etc/crontab 文件中 PATH 变量下列出的路径。这样在这个路径下创建一个同名的脚本,它应该由 cron jobs 运行。...对于任何未内置于 shell 或未使用绝对路径定义的命令,Linux 将开始在 PATH 下定义的文件夹中搜索。如果您的用户具有写入权限的文件夹位于PATH中,您可能会劫持应用程序来运行脚本。

    1.3K30

    如何使用Docker构建运行时间较长的脚本

    我开发了一个会运行很长时间的构建脚本,这个脚本中包含了很多的步骤。 这个脚本会运行1-2个小时。 它会从网络下载比较大的文件(超过300M)。 后面的构建步骤依赖前期构建的库。...生成脚本的快照 使用快照可以帮助构建一个长时运行的脚本。...总的想法是,将一个大的脚本分解为许多小的脚本(我喜欢称之为 scriptlets),并单独运行这些小的脚本,脚本运行后为其文件系统打一个快照 (Docker会自动执行此操作)。...具体使用说明可以参考这篇文章。在我的脚本中主要用到WORKDIR、ADD和RUN。ADD命令非常有用因为它可以让你在运行之前将外部文件添加到当前Docker镜像中然后转换成镜像的文件系统。...此外,使用RUN命令要注意,每次运行时它都会导致文件系统有不同的更改。在这种情况下,Docker会发现中间镜像并使用它,但是这将是错误的。RUN命令每次运行时会造成文件系统相同的改变。

    1.5K20

    Linux 上使用 crontab 设置定时任务及运行 Python 代码不执行的解决方案

    在使用 Linux 或者 Windows 的时候,我们有可能需要去定时运行一些代码,比如在每个凌晨备份一下数据库,如果这些操作都由人工控制就显得太傻了,使用 Linux 的 crontab 设置定时任务是一个非常不错的选择...比如使用 crontab 运行下面的命令可以启动 cron 的相关服务: $ crontab -u # 设定某个用户的 cron 服务 $ crontab -e # 编辑某个用户的 cron...cron 任务的参数解读 5个时间参数的含义 时间参数的基本含义见表格所示: 参数位置 第1个 第2个 第3个 第4个 第5个 含义 分钟 小时 日期 月份 周 参数范围 0-59 0-23 1-31...2、写一个执行 Python 脚本的 shell 脚本,可以命名为 ptest.sh 当然,这一步其实可以省略,可以直接在任务中运行 Python 脚本,但是我习惯只在任务中运行 shell 脚本。.../usr/bin/bash cd /home/alex/codes /usr/bin/python3 ptest.py 注意这里首先进入了 Python 脚本所在的目录,当然,也可以把这个目录直接写在文件的前面

    2.2K10

    ThinkPHP6 自定义指令(定时任务脚本 )使用技巧

    背景 项目运行过程中,有些任务需要定时去跑,比如定时获取当前关注公众号的用户,给与奖品发放的需求 一种解决方式:直接使用 Linux 的 [crontab] 计划任务,设定执行链接就好 另一种方式:...为了方便对自定义指令的统一管理,可以编写 shell 执行脚本 【ThinkPHP6 自定义指令】 ▶ 使用技巧 指令: php think [command_name] # 提示:个人习惯,对统一模块下的指令.../bin/bash #cronTab 的启动 appPath=$(cd "$(dirname "$0")";cd "../.....${dateSuffix} 2>&1 & fi fi ▶ 附录: ☞ shell 脚本操作知识点 创建脚本命令: touch check_cron.sh 然后,需要对脚本赋予权限: chmod.../check_cron.sh ☞ 如果脚本中的部分指令不执行 此时出现的情况就是,没有生成对应日期的 log 日志 此时,先查询下是否存在对应的进程(参考ps -ef | grep message_send

    1.8K30

    Nginx日志定时切割

    nginx的日志文件如果你不处理,将变得越来越大,我们可以写一个nginx日志切割脚本来自动切割日志文件。 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。...在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件。 第二步向nginx主进程发送USR1信号。...重新打开日志文件后,nginx主进程会关闭重名的日志文件并通知工作进程使用新打开的日志文件`。 工作进程立刻打开新的日志文件并关闭重名名的日志文件。 然后你就可以处理旧的日志文件了。...nginx日志按日期自动切割脚本cut_nginx_log.sh如下: #!...然后通过crontab设置作业,参见Linux计划任务cron使用指南 0 0 * * * bash /usr/local/nginx/nginx_log.sh 这样就每天的0点0分把nginx日志重命名为日期格式

    45840

    应急响应--Linux入侵检查思路及防御

    如:用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留 哈希密码可以使用john进行破解 入侵排查其他常用命令...例如,查看用户 john 的历史记录: cat /home/john/.bash_history 3、检查异常端口 使用netstat 网络连接命令,分析可疑端口、IP、PID,是否有建立可疑网络连接等...查看进程打开的端口和文件 5、计划任务排查 一般在linux下的任务计划文件是以cron开头的,linux系统中可以使用crontab命令进行计划任务的设置。...,检查一下启动的服务或者文件是否有异常,一般会在/etc/rc.local和crondtab -l 显示出来 了解系统运行级别 查看运行级别用:runlevel 运行级别 含义 0 关机 1 单用户模式...,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录 2 多用户模式,没有NFS网络支持 3 完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式 4 系统未使用,保留一般不用

    18610

    Ubuntu 使用 Cron 实现计划任务

    Windows 自带定时执行任务的工具叫做“计划任务”,Linux 下我们使用 Cron 实现这一功能。...选定的编辑器也可以使用 你也可以每次自己更改 select-editor 重启 cron 服务 每次保存了crontab之后,我们还需要重启cron来应用这个计划任务。...cron 语法格式 m h dom mon dow command 0-59 0-23 1-31 1-12 0-7 command m: 表示分钟 h: 表示小时 dom: 表示日期 mon:...,4,5,6号的7:30分各执行一次 ls 命令 ## 指定多个时间 30 7 3,6 * * ls #每月的3号和6号的7:30分各执行一次 ls 命令 另外,使用 run-parts 可以运行指定目录下所有的脚本.../bin/bash”,否则 run-parts 会调用失败) 30 7 * * * run-parts /home #每天7:30运行 /home 目录下的所有脚本

    4.8K20

    《linux下crontab的深入分析》

    run-parts /etc/cron.monthly 前四行是用来配置 cron 任务运行环境的变量....SHELL 变量的值告诉系统要使用哪个 shell 环境(在这个例子里是 bash shell) PATH 变量定义用来执行命令的路径. cron 任务的输出被邮寄给 MAILTO 变量定义的用户名如果...HOME 变量可以用来设置在执行命令或脚本时使用的主目录. 注: 我们可以自定义自己的变量,让crontab配置文件中的程序使用....run-parts /etc/cron.monthly 使用 run-parts 脚本来执行 /etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly和/etc...三)cron运行的最小单位是分钟 cron服务运行的最小单位是分钟,也就是每分钟cron服务加载一次/var/spool/cron中的配置文件,所以我们不能实现每秒钟运行一次cron中的配置项.

    1.1K50

    分享一次Linux任务计划crontab不执行的问题排查过程

    结果观察还是报了相同的错误!原来改完这个 sudo 并不会影响已经运行的 crontab,所以需要重启 crontab 服务刷新下设置: service crond restart 这下终于可以了!...,也就是前文提到的 /var/log/cron 或 /var/log/messages,如果里面没有发现执行记录,那么可以重启下这个服务:service crond restart ②、检查脚本的执行权限...一般来说,在 crontab 中建议使用 sh 或 bash 来执行 shell 脚本,避免因脚本文件的执行权限丢失导致任务失败。...③、检查脚本需要用到的变量 和上文一样,通常来说从 crontab 里面执行的脚本和人工执行的环境变量是不一样的,所以对于一些系统变量,建议写绝对路径,或使用 witch 动态获取,比如  sudo_bin...这又让我想起了如果 crontab 未屏蔽日志,可能会导致硬盘 inode 爆满 ==> 历史文章传送门 ,感兴趣的童鞋也可以谷歌一下 /var/spool/clientmqueue/ 这个关键词了解下

    2.7K30

    【菜鸟学Linux】Cron Job定期删除Log(日志)文件

    以前一直做Windows开发,近期的项目中要求使用Linux。作为小菜鸟一枚,赶紧买了一本经典书《鸟哥的Linux私房菜》学习。...最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长很快,所以需要用脚本(Bash scripts)删除过期的Log文件。   使用Linux下的Cron Job可以很好的解决这个问题。...写一个Bash shell script,作用:检索日志文件夹下的所有log文件,查询每个文件的日期,如果日期过期,则删除这个log文件 1 #!...新建一个Cron Job,周期性的执行上面的脚本   命令: 1 sudo crontab –e 2 5 0 * * * /home/user/deleteOldLog.sh >> /home/user...这里我用的是sudo crontab -e,不是crontab -e,这样做是使用root的crontab,可以使用sudo,获取root某些权限。   2.

    2.9K100

    程序计划任务管理

    指定命令执行的具体日期,指定格式为month day(月、日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。...那么只有root用户可以使用at命令. at [选项] 指定任务执行的日期时间 atq #查询当前服务器上的at工作好 atrm[工作号]#删除指定的at任务 #参数 -c 工作号...脚本 #修改后的Cron表达式即可完美解决问题 * */4 * * * ?...01 node2 CROND[67649]: (root) MAIL (mailed 58 bytes of output but got status 0x007f#012) #错误信息 问题原因:脚本中的由于环境变量的原因未执行...~22点,当然您可以进行更改; 默认执行工作使强制延迟时间为5分钟,再随机延迟0-45分钟时间 使用nice命令指定默认的优先级,再使用run-parts脚本执行cron.daily目录中所有的可执行文件

    3.3K20
    领券