编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。 分为两个步骤:第1步先编写shell脚本,第2步用crontab -e命令设置周期性任务
时间: 2024-03-24 14:40:45 浏览: 51
好的,以下是您需要的shell脚本:
```sh
#!/bin/bash
while true
do
ps -ef > ~/back_up
sleep 60
done
```
这个脚本会不断地执行一个循环,在每一次循环中,它会将系统运行的前台进程信息输出到用户家目录下的back_up文件中,并且等待60秒。
接下来,您需要使用`crontab -e`命令设置一个周期性任务,使得这个shell脚本每分钟都能够执行一次。在打开的编辑器中,添加如下一行:
```
* * * * * /bin/bash /path/to/your/script.sh
```
其中`/path/to/your/script.sh`应该替换成您的shell脚本的实际路径。这个cron表达式的意思是:每分钟执行一次。
保存并退出编辑器,之后这个周期性任务就会生效了。
相关问题
编写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组合键停止该脚本的执行。
)编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。 分为两个步骤:第1步先编写shell脚本,第2步用crontab -e命令设置周期性任务
好的,以下是针对你的问题的回答:
第一步,创建一个名为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文件中。
阅读全文