linux下通过脚本实现自动重启程序.doc

合集下载

Linux系统重启脚本使用Shell脚本实现对Linux系统的定时重启和自动恢复

Linux系统重启脚本使用Shell脚本实现对Linux系统的定时重启和自动恢复

Linux系统重启脚本使用Shell脚本实现对Linux系统的定时重启和自动恢复Linux系统是一种广泛使用的操作系统,它在服务器和嵌入式设备中得到了广泛应用。

在实际运行过程中,为了确保系统的正常运行和稳定性,定时重启和自动恢复是必不可少的功能。

本文将介绍如何使用Shell脚本来实现对Linux系统的定时重启和自动恢复。

实施定时重启功能的第一步是创建一个Shell脚本。

通过使用Linux 的定时任务工具cron,我们可以在指定的时间自动运行这个脚本。

打开终端,输入以下命令创建一个新的脚本文件:```shell$ sudo nano restart.sh```接下来,我们需要编写重启脚本的内容。

在脚本中,我们将使用`shutdown`命令来实现重启功能。

以下是一个示例脚本:```shell#!/bin/bashshutdown -r now```保存并关闭文件。

接下来,我们需要为脚本添加执行权限:```shell$ sudo chmod +x restart.sh```现在,我们可以使用cron来设置定时任务。

通过运行以下命令,我们可以编辑当前用户的cron表:```shell$ crontab -e```在cron表中,每行代表一个定时任务。

按下`i`键进入编辑模式,然后添加以下行来设置每天重启的时间:```30 2 * * * /path/to/restart.sh```这样,每天的凌晨2点30分,系统将自动重启。

修改完成后,按下`Esc`键,然后输入`:wq`保存并退出。

现在,我们已经完成了定时重启功能的设置。

从现在起,系统将在指定时间自动执行重启。

另外,为了确保系统在重启后能够自动恢复到之前的状态,我们还可以编写一个自动恢复脚本。

该脚本将在系统重启后自动运行,并执行一系列操作以将系统恢复到正常状态。

继续使用前面创建的`restart.sh`脚本,我们可以在其中添加自动恢复的操作。

以下是一个示例脚本:```shell#!/bin/bash# 这里是自动恢复的操作```在具体的自动恢复操作中,您可以根据实际需求执行需要的命令和操作,比如恢复数据库、重启服务等。

linux自动重启

linux自动重启

linux自动重启1、设置开机自动启动crond计划任务服务。

在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/servicecrondstart关于crond服务的重启、停止等命令如下/sbin/servicecrondstart//启动服务/sbin/servicecrondstop//关闭服务/sbin/servicecrondrestart//重启服务/sbin/servicecrondreload//重新载入配置2、语法如下:示例:每天5:30执行ls命令,并把结果输出到/jp/test文件中305***ls>/jp/test2>&1*/15****ls每15分钟继续执行一次ls命令3、编辑计划任务1、在命令行输入:crontab-e然后添加相应的任务,wq存盘退出。

2、直接编辑/etc/crontab文件,即vi/etc/crontab,添加相应的任务1122110*rm-rf/mnt/fb4、crond服务的一些常用参数cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:crontab-u//预设某个用户的cron服务,通常root用户在继续执行这个命令的时候须要此参数crontab-l//列出某个用户cron服务的详细内容crontab-r//删除没个用户的cron服务crontab-e//编辑某个用户的cron服务比如说root查阅自己的cron设置:crontab-uroot-l再比如,root想要删掉fred的cron设置:crontab-ufred-r比如编辑root用户的crontd服务,则输出:crontab-urootce关于计划任务综合篇二、cron服务上面已经直观了解了cron的一些进程和掌控。

下面我们去看一看cron怎么同时实现。

相对与at,cron的优点就是能够周期性的执行某个命令,at却只能执行一次cron的后台进程名字就是crond,cron也就是systemv的服务,所以我们可以servicecrondstart|stop去启动和停用此服务,也可以采用chkconfig或者ntsysv去挑选cron服务的预设打开,这些命令在以前我们都谈过的#crontab-e编辑当前用户的cron表#crontab-l查阅当前用户的cron表中#crontab-r删除当前用户的cron进程#crontab-u用户名以某用户的身份去掌控cron表中还有个重要的知识点,就是当用户的计划任务建立后是存放在/var/spool/cron这个目录当采用crontab-e编辑当前用户的cron表后,可以发生一个vi文件,cron的格式就是这样的。

Linux系统服务启停脚本

Linux系统服务启停脚本

Linux系统服务启停脚本Linux系统服务是在操作系统中运行的程序,可以提供不同的功能和服务。

对于管理员和系统运维人员来说,启动和停止服务是日常工作中常见的任务之一。

为了方便管理和操作,编写一个系统服务启停脚本是非常有必要的。

下面是一个基本的Linux系统服务启停脚本的示例:```bash#!/bin/bash### BEGIN INIT INFO# Provides: myservice# Required-Start: $remote_fs $syslog# Required-Stop: $remote_fs $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: My Service# Description: This script starts and stops My Service.### END INIT INFO# 定义变量SERVICE_NAME="myservice"SERVICE_PATH="/path/to/service" SERVICE_FILE="myservice.sh"PID_FILE="/var/run/myservice.pid" # 启动函数start() {# 检查服务是否已经在运行if [ -f "$PID_FILE" ]; thenecho "Service is already running." exit 1fi# 启动服务cd "$SERVICE_PATH"./"$SERVICE_FILE" &PID=$!echo $PID > "$PID_FILE"echo "Service started."}# 停止函数stop() {# 检查服务是否在运行if [ ! -f "$PID_FILE" ]; thenecho "Service is not running." exit 1fi# 停止服务PID=$(cat "$PID_FILE")kill "$PID"rm -f "$PID_FILE"echo "Service stopped."}# 重启函数restart() {stopsleep 1startecho "Service restarted."}# 控制参数case "$1" instart)start;;stop)stop;;restart)restart;;*)echo "Usage: $0 {start|stop|restart}"exit 1;;esac```以上脚本演示了一个名为"myservice"的服务的启停控制逻辑。

Linux系统定时重启脚本

Linux系统定时重启脚本

Linux系统定时重启脚本Linux是一种开源操作系统,广泛应用于服务器领域。

在运行服务器的过程中,有时我们需要定时重启系统以确保系统的稳定性和性能。

为了方便管理和操作,我们可以编写一个定时重启脚本来自动执行此任务。

以下是一个简单的Linux系统定时重启脚本示例:```bash#!/bin/bash# 重启时间设定(每天凌晨3点)reboot_hour=3reboot_minute=0# 获取当前时间current_hour=$(date +%H)current_minute=$(date +%M)# 计算距离下一次重启的时间间隔if [[ current_hour -eq reboot_hour ]]; thenif [[ current_minute -lt reboot_minute ]]; thenreboot_delay=$(( (reboot_minute - current_minute) * 60 ))fielsehour_diff=$(( reboot_hour - current_hour ))minute_diff=$(( reboot_minute - current_minute ))reboot_delay=$(( (hour_diff * 60 + minute_diff) * 60 ))fi# 等待时间间隔sleep $reboot_delay# 重启系统shutdown -r now```上述脚本首先设定了重启时间,这里以每天凌晨3点为例。

然后获取当前系统的时间,并计算距离下一次重启的时间间隔。

接着会根据时间间隔进行等待,到达指定时间后执行重启命令`shutdown -r now`来重启系统。

使用这个脚本,我们可以通过设置定时任务来实现自动定时重启。

可以使用`crontab`命令编辑定时任务列表,以下是一个示例:```bashsudo crontab -e```在打开的定时任务列表中,添加以下内容:```bash0 3 * * * /path/to/reboot_script.sh```这个定时任务会在每天凌晨3点执行`/path/to/reboot_script.sh`脚本,即我们之前编写的定时重启脚本。

Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启

Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启

Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启Shell脚本作为一种自动化脚本语言,可在Linux系统中编写和执行各种任务。

其中,一项重要的任务是监控系统进程并在必要时自动重启。

本文将介绍如何使用Shell脚本来实现Linux系统进程监控和自动重启的功能。

一、编写监控脚本首先,我们需要编写一个监控脚本来监控系统中的进程。

以下是一个示例的监控脚本:```#!/bin/bashprocess_name="example_process" # 要监控的进程名称while truedoprocess_num=$(pgrep $process_name | wc -l) # 统计进程数量if [ $process_num -eq 0 ]; then # 如果进程数量为0echo "进程 $process_name 未运行,正在尝试重新启动..."# 重新启动进程的命令,例如:# /path/to/example_process &# 注意加上后台运行符号&fisleep 60 # 休眠60秒,避免频繁检测done```在上述脚本中,首先定义了要监控的进程名称为`example_process`,然后使用一个无限循环来检测进程是否在运行。

通过`pgrep`命令和`wc -l`命令可以统计指定进程名称的进程数量。

如果进程数量为0,则输出提示信息,并执行重启进程的操作(根据实际情况自行修改重启命令)。

最后,使用`sleep`命令休眠60秒,以避免频繁检测。

二、保存并设置执行权限将上述脚本保存为一个以`.sh`为后缀的文件,例如`monitor_process.sh`。

然后,通过命令`chmod +x monitor_process.sh`为脚本文件添加执行权限。

三、设定定时任务为了让监控脚本能够定期执行,我们可以使用Linux系统中的定时任务功能。

linux下通过脚本实现自动重启程序

linux下通过脚本实现自动重启程序
fi
sleep 1
done
脚本start:
加入limit coredumpsize 102400,设置core file的大小,一旦程序Core Dump,有迹可寻。在该脚本中后台执行check脚本,可以省去很多麻烦,
#!/bin/csh
limit coredumpsize 102400
./cESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动
PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`
if [ $PROCESS_NUM -eq 1 ];
then
return 0
linux下通过脚本实现自动重启程序
无论什么程序都不可能完美无缺,理论上,任何程序都有Core Dump的一天,正式运营的程序,尤其是服务器程序,一旦Core Dump,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批。所以,程序发生错误时自动重启变得很重要。这里集中讨论linux实现自动重启程序的方法。
else
return 1
fi
}
#检查test实例是否已经存在
while [ 1 ] ; do
CheckProcess "test"
CheckQQ_RET=$?
if [ $CheckQQ_RET -eq 1 ];
then
#杀死所有test进程,可换任意你需要执行的操作
killall -9 test
exec ./test &

Linux系统定时重启脚本编写

Linux系统定时重启脚本编写

Linux系统定时重启脚本编写在Linux系统中,我们经常需要定时执行一些任务,比如定时重启系统。

而编写一个定时重启脚本可以提供一个简单、方便、自动化的解决方案。

本文将介绍如何编写一个Linux系统定时重启脚本,并提供一个可实际使用的范例。

1. 脚本文件的创建首先,在你喜欢的文本编辑器中创建一个新文件,文件名可以是"reboot.sh"。

为了方便,可以将该文件放在"/usr/local/bin/"目录下,以供全局使用。

2. 脚本文件的权限设置接下来,我们需要为脚本文件设置相应的执行权限。

在终端中输入以下命令:```chmod +x /usr/local/bin/reboot.sh```该命令将使脚本文件具有可执行权限。

3. 脚本文件的编写打开"reboot.sh"文件,开始编写脚本代码。

下面是一个示例:```bash#!/bin/bashecho "系统将在60秒后重启..."sleep 60reboot```在该示例中,我们使用了Bash脚本语言。

首先,我们输出一条重启系统的提示信息,然后等待60秒,最后执行"reboot"命令来实现系统重启。

4. 定时任务的设置编写完脚本文件后,我们需要设置一个定时任务来定期执行该脚本。

在终端中输入以下命令:```crontab -e```如果是第一次使用该命令,系统会要求选择一个文本编辑器进行编辑。

选择一个你熟悉的编辑器,并输入以下内容:```bash0 3 * * 1 /usr/local/bin/reboot.sh```该命令中的"0 3 * * 1"表示在每周一的凌晨3点执行脚本文件。

你可以根据自己的需求修改该命令,定制脚本的执行时间。

5. 保存并退出保存并退出文本编辑器,定时任务设置就完成了。

现在,你的Linux系统会在每周一的凌晨3点自动执行重启脚本,实现系统的定时重启。

Linux系统出现故障自动重启脚本使用Shell脚本实现对Linux系统出现故障时的自动重启

Linux系统出现故障自动重启脚本使用Shell脚本实现对Linux系统出现故障时的自动重启

Linux系统出现故障自动重启脚本使用Shell 脚本实现对Linux系统出现故障时的自动重启在这篇文章中,我们将讨论如何使用Shell脚本来实现对Linux系统出现故障时的自动重启。

故障可能导致系统崩溃或无法正常运行,为了确保系统的稳定性和连续性,自动重启脚本可以帮助我们快速恢复系统的正常运行。

在开始前,我们先了解一下Shell脚本的基本知识。

Shell脚本是一种用于在操作系统上执行一系列命令的脚本语言。

它可以被用于自动执行各种任务,包括故障检测和自动重启。

要实现对Linux系统出现故障时的自动重启,我们需要编写一个Shell脚本,并将其设置为系统的自启动任务。

下面是一个简单的例子:```shell#!/bin/bashwhile truedoif [ $(pgrep -x "your_process_name") ]thenecho "Your process is running fine."elseecho "Your process has stopped. Restarting..."sudo systemctl restart your_service_namefisleep 60done```以上脚本的作用是在一个无限循环中检测指定的进程是否在运行。

如果进程正在运行,脚本将输出"Your process is running fine."的消息。

如果进程停止运行,脚本将输出"Your process has stopped. Restarting..."的消息,并通过使用systemctl命令来重启指定的服务。

在上述脚本中,你需要将"your_process_name"替换成你要检测的进程名称,将"your_service_name"替换成你要重启的服务名称。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下通过脚本实现自动重启程序
linux下通过脚本实现自动重启程序
自动重启故障相信大家都遇到过,原因也有很多,跟系统,硬件或者外界因素都有关,但是在Linux中可没有那么简单。

这里集中讨论linux实现自动重启程序的方法。

下面一起看看!
自动重启脚本
假定需要实现重启的程序名为test ,我们这里通过判断进程数目来判断程序是否正常。

ps -ef | grep $1 | grep -v grep | wc l 是获取$1(本例中为test)的进程数,脚本根据进程数来决定下一步的操作。

通过一个死循环,每隔1秒检查一次系统中的指定程序的进程数。

代码如下:
脚本check
#!/bin/sh
#-----------------------------------# 函数: CheckProcess# 功能: 检查一个进程是否存在# 参数: $1 --- 要检查的进程名称# 返回: 如果存在返回0, 否则返回1.#---------------------------------------CheckProcess(){ # 检查输入的
参数是否有效if [ $1 = ]; then return 1 fi #$PROCESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动PROCESS_NUM=`ps -ef | grep $1 | grep -v grep | wc -l` if [ $PROCESS_NUM -eq 1 ]; then return 0 else return 1 fi}
# 检查test实例是否已经存在while [ 1 ] ; do CheckProcess test CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 杀死所有test进程,可换任意你需要执行的操作killall -9 test exec ./test fi sleep 1done
脚本start:
加入limit coredumpsize 102400,设置core file的大小,一旦程序Core Dump,有迹可寻。

在该脚本中后台执行check脚本,可以省去很多麻烦,
#!/bin/cshlimit coredumpsize 102400
./check
补充:电脑总是自动重启怎么办
1、右击我的电脑,选择属性项。

2、在打开的系统属性窗口中选择高级系统设置项进入。

3、在打开的系统属性窗口中,切换至高级选择卡,然后点击系统和故障恢复设置按钮。

4、在打开的窗口中取消勾选自动重启启动项并按确认即可。

5、当电脑在使用的过程中产生蓝屏时,我们就可以进入系统日志管理器中查看产生系统失败的根源啦。

打开运行对话框,输入命令eventvwr.msc 即可查看日志信息,从中定位系统产生失败的原因。

6、当然,我们也可以通过禁用某些开机项来尝试修复系统。

打开运行对话框,输入命令msconfig 进入系统配置实用程序界面,勾选常规选项卡下的诊断启动选项。

7、还有一种修复计算机蓝屏或重启故障的方法,就是在电脑启动时按F8 进入系统故障菜单,从中选择安全模式进入或最后一次正确的配置项进入系统,将及有可能修复系统。

8、当然,如果以上方法均不能解决问题,那么建议您还是重新安装一下系统,毕竟安装系统所耗费的时间相对修复所用时间要少许多。

一劳永逸之事才是王道。

相关阅读:电脑自动重启方法
方法一:
1、打开控制面板-管理工具-计划任务程序
2、创建基本任务,名称栏目,输入定时重启,下一步;
3、在窗口里,有每天、每周、每月、一次各种选择,这里小诚选择一次,这次执行完就失效,您可以根据自己的情况进行选择哈,点击下一步;
4、设置重启的日期、时间点,下一步;
5、选择启动程序,下一步;
6、在打开页面里,点击浏览,找到C;\Windows\System32\Shutdown.exe,点击打开;
7、在添加参数栏目里输入-r (重启),进行下一步
8、点击完成,即可实现自动重启了
方法二:
网上搜索个自动重启关机类软件,这比较多,简单设置一下就可以了。

linux下通过脚本实现自动重启程序:
1.linux shell脚本执行命令
2.Linux中执行shell脚本的方法
3.分析Linux系统rc.sysinit脚本
4.如何在Windows下运行linux shell脚本
5.给linux文件添加可执行权限的方法
linux学习远程控制跟IP地址配置1
linux学习远程控制跟IP地址配置
今天跟去中国电信眉山分公司机房,学习linux配置php+apache+mysql环境。

就学了一点,根据官方的instal.txt安装说明进行操作。

回家的主要课题:远程控制跟IP地址配置。

ssh (putty,secure crt)linux远程管理
远程控制
开通ssh端口跟IP地址
安装linux的时候,ssh自带的也给安装上了,但并不能直接使用,还需要激活:
激活ssh:
/etc/rc.d/init.d/sshd start
service sshd start
netstat -tl
激活以后,每次开机还都得重新激活。

可以在启动linux时自动启动ssh:
在文件/etc/rc2.d/S99local里面加入/usr/sbin/sshd &
(/usr/sbin/sshd 是ssh启动的)
这样每次开机以后就不用再次激活,直接就可以远程控制。

配置IP地址:
/etc/sysconfig/network-scripts/ifcfg-eth0
里面的内容:
[root@localhost network-scripts]# cat ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.0.2
USERCTL=no
PEERDNS=yes
GATEWAY=192.168.0.1
配置完以后:
/etc/init.d/network reload或service network
查看网卡信息: route -n查看物理网卡:mii-tool重启eth0: ifup eth0查看eth0信
息:ethtool eth0添加IP地址:ifconfig eth0 IP netmask 子网掩码broadcast 广播地址。

相关文档
最新文档