当前位置:首页 » 编程软件 » shell脚本定时执行

shell脚本定时执行

发布时间: 2023-05-16 22:01:09

1. 如何设置PowerShell脚本定时执行

不管是Windows还是Mac
OS还是linux,凡是定时执行的,一般都是靠计划任务。
以在Windows中运行Powershell脚本为例:
1.
写好你的脚本,比如叫a.ps1
2.
创建
定时任务
,在动作页设置:
运行程序
powershell
,参数
-File X:\..\a.ps1 -ExecutionPolicy ByPas3.
其余项根据你的需求设置好,到设定的时间就可以运行了。
P.S.
不要把运行时间设在过去。

2. Linux定时执行shell

定时检测进程挂了,然后重启

如果端口不存在了, 则重启服务

Linux crontab 命令

每分钟执行脚本文件

重启crond

查看当前系银含扒桐统登录用户锋此笑的Crontab命令集合

3. Linux Shell自动拉起进程

新建文件夹/root/test/,test文件夹中有myCPP.cpp,myTEXT.txt,restart.sh

该文件的功能是每隔5s往myTEXT.txt中写入当前时间
编译得到可执行文件mycpp: g++ myCPP.cpp -std=c++11 -o mycpp
注意有时候因为权限问题会导致shell拉起失败,这里粗暴地开放所有权限 chmod 777 mycpp

shell脚本,检测目标程序是否处于运行状态,如果不运行则将其拉起。

加上crontab就可以让脚本定时执行,一旦发现进程没有运行,则启动该进程,这样就实现了进程漏源缺的自动拉起。

通过 crontab -e 进入类似vim的操作界面,在文件末尾补充 */1 * * * * /root/test/裂镇restart.sh /root/test/mycpp& ,让restart.sh脚本每一分钟运行一次(即每分钟检测一次mycpp是否正在执行)

查看mycpp进程是否在执行 ps -ef | grep mycpp
查看mycpp执行写入的结返辩果 tail -f myTEXT.txt

4. shell脚本编写定时器

root用户在/root 目录创建下面脚本test_print.sh

#!/bin/bash
#脚本名:test_print.sh
#作用:测试,给所有在线的终端打印'现在9点了'
ttys=`w|awk'{print$2}'|sed-n'3,$p'`#截取在线终端
foriin$ttys
do
echo'现在9点了'>/dev/$i#echo打印信息
done

执行此行,追加到crond任务

echo"09***sh/root/test_print.sh">>/var/spool/cron/root

5. 在Linux下怎样设定一个时间自动执行一个SQL的shell脚本文件,例如:auto.sh

使用crontab定时任务
crontab -e 进入编辑
基本格式 :
*****command
分时日月周命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定
user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设
定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数
来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执
行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 [email protected] :
0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之
后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.

希望能够帮到你。

6. linux定时任务shell脚本开头如下 cd ~ . .bash_profile 定时任务执行后提示找不到.bash_profile什么情况

.bash_profile 是没错的,以点号开头的文件是隐藏文件。

通常就是在用户目录下的。
先去掉 ./1.sh 看看是否能执行,如果这样可以,说明就是 ./1.sh 执行过程中改变了当前路径。

7. linux定时执行任务的shell脚本

linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:
crontab -e 编辑周期任务

30 21 * * * /etc/init.d/smb restart 每晚的21:30重启smb

crontab命令说明:
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

语法
crontab(选项)(参数)
选项
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
参数
crontab文件:指定包含待执行任务的crontab文件。

知识扩展
Linux下的任务调度分为两辩亩租类:系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

crontab文件的含义:
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command 顺序:分 时 日 月 周
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的耐袜0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,携兆还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

8. shell定时执行脚本启动jar程序的问题

在脚本里声明java环境变量,加上下列语句在#! /bin/sh底下,注意.后面有空格
. ~/.bash_profile
. /etc/profile

9. 在linux下怎么让一个脚本定时运行

Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep cron
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为“crontab”,是“cron table”的简写。

10. 如何设置PowerShell脚本定时执行

不管是Windows还是Mac OS还是Linux,凡是定时执行的,一般都是靠计划任务。

以在Windows中运行Powershell脚本为例:

  1. 写好你的脚本,比如叫a.ps1

  2. 创建定时任务,在动作页设置:

    运行程序powershell,参数

    -FileX:..a.ps1-ExecutionPolicyByPas
  3. 其余项根据你的需求设置好,到设定的时间就可以运行了。

    P.S. 不要把运行时间设在过去。

热点内容
文件夹如何批量替换文件名 发布:2025-07-15 01:19:15 浏览:67
ftp上传网页 发布:2025-07-15 01:13:09 浏览:181
音乐文件夹图标 发布:2025-07-15 01:03:41 浏览:494
安卓机怎么反向充电 发布:2025-07-15 01:03:40 浏览:500
电脑使用华为云服务器 发布:2025-07-15 00:48:10 浏览:533
中考应该如何排解压力 发布:2025-07-15 00:17:54 浏览:362
安卓第三方应用软件是什么 发布:2025-07-15 00:12:06 浏览:149
程序业务配置存储 发布:2025-07-14 23:52:16 浏览:685
csdn编程挑战 发布:2025-07-14 23:52:08 浏览:791
国外乘法算法 发布:2025-07-14 23:51:14 浏览:11