编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。
时间: 2024-03-23 16:41:22 浏览: 52
好的,下面是实现该功能的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文件中。
(2)编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。 分为两个步骤:第1步先编写shell脚本,第2步用crontab -e命令设置周期性任务
好的,以下是可以实现该功能的shell脚本:
```shell
#!/bin/bash
# 在用户家目录下创建back_up文件
cd ~
touch back_up
# 每隔1分钟将系统运行的前台进程信息输出到back_up文件中
while true
do
ps -ef | grep -v "grep" >> back_up
sleep 60
done
```
该脚本使用了while循环,每隔1分钟将系统运行的前台进程信息输出到back_up文件中。在每次循环中,使用`ps -ef`命令查找系统运行的前台进程信息,并使用`grep -v "grep"`命令过滤掉grep进程信息,最后将输出结果追加到back_up文件中。使用`sleep 60`命令实现每隔60秒执行一次循环。
接下来,使用`crontab -e`命令设置周期性任务,将上面的脚本设置为每分钟执行一次。在打开的crontab文件中添加如下一行:
```
* * * * * /bin/bash /path/to/script.sh
```
其中,`/path/to/script.sh`需替换为实际的脚本路径。保存文件后,cron将每分钟执行该脚本,并将输出结果追加到back_up文件中。
阅读全文