)编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。 分为两个步骤:第1步先编写shell脚本,第2步用crontab -e命令设置周期性任务
时间: 2024-03-23 14:41:34 浏览: 107
好的,以下是针对你的问题的回答:
第一步,创建一个名为back_up的文件并将系统运行的前台进程信息输出到该文件中,可以使用以下的shell脚本:
```
#!/bin/bash
FILE=~/back_up
while true
do
ps -ef | grep -v grep | grep -v "$0" | grep -v "tail" > $FILE
sleep 60
done
```
这个脚本会在用户家目录下创建一个名为back_up的文件,并且每隔1分钟将系统运行的前台进程信息输出到该文件中。其中,ps命令用于查看系统运行的进程信息,grep命令用于过滤掉一些无用信息,sleep命令用于让脚本休眠60秒。
第二步,设置周期性任务可以使用crontab命令,具体操作如下:
1. 使用命令crontab -e打开编辑器来编辑定时任务:
```
crontab -e
```
2. 在编辑器中添加以下一行:
```
* * * * * ~/back_up.sh
```
该行的含义是每隔1分钟执行一次~/back_up.sh脚本。
3. 保存并退出编辑器。
这样就完成了定时任务的设置,系统会每隔1分钟自动执行~/back_up.sh脚本,并将运行的前台进程信息输出到back_up文件中。
相关问题
编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。
好的,下面是实现该功能的Shell脚本:
```shell
#!/bin/bash
# 创建back_up文件
mkdir ~/back_up
# 每隔1分钟将系统运行的前台进程信息输出到back_up文件中
while true
do
date >> ~/back_up/process.log
ps -ef >> ~/back_up/process.log
sleep 60
done
```
在终端运行该脚本后,会在当前用户的家目录下创建一个名为back_up的文件夹,并在其中创建一个名为process.log的文件。然后,该脚本会每隔1分钟将系统运行的前台进程信息输出到该文件中。可以使用Ctrl+C组合键停止该脚本的执行。
(2)编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。 分为两个步骤:第1步先编写shell脚本,第2步用crontab -e命令设置周期性任务
好的,我来回答您的问题。
首先,根据您的要求,需要编写一个shell脚本,实现每隔1分钟将系统运行的前台进程信息输出到back_up文件中。可以使用以下脚本:
```bash
#!/bin/bash
while true; do
date >> ~/back_up
ps -ef | grep -v grep | grep -v "$0" >> ~/back_up
sleep 60
done
```
以上脚本会不断执行一个循环,每隔1分钟向back_up文件中输出当前时间以及所有正在运行的前台进程信息。
接下来,需要将该脚本设置为一个周期性任务,以便每隔1分钟执行一次。可以使用crontab命令,具体步骤如下:
1. 打开终端,输入以下命令进入编辑模式:
```bash
crontab -e
```
2. 如果是第一次进入编辑模式,可能会提示选择编辑器。选择您熟悉的编辑器,比如nano或vim。
3. 在编辑器中添加以下一行:
```bash
* * * * * /bin/bash /path/to/your/script.sh
```
其中,*/1 * * * * 表示每隔1分钟执行一次,/path/to/your/script.sh是您脚本的路径。
4. 保存并退出编辑器。
现在,周期性任务已经设置完成了,每隔1分钟就会执行一次脚本,向back_up文件中输出系统运行的前台进程信息。
阅读全文