编写shell脚本,在用户家目录下创建一个名为back_up的文件,然后实现每隔1分钟将系统运行的前台进程信息输出到到back_up文件中。 分为两个步骤:第1步先编写shell脚本,第2步用crontab -e命令设置周期性任务
时间: 2024-03-23 19:41:54 浏览: 46
好的,我来回答你的问题。
第一步,编写shell脚本:
首先,打开终端,输入以下命令:
```
cd ~
touch back_up.sh
chmod +x back_up.sh
```
然后,使用文本编辑器打开back_up.sh文件,输入以下脚本内容:
```
#!/bin/bash
while true
do
ps -aux > ~/back_up
sleep 60
done
```
保存并关闭文件。
解释一下这个脚本的内容:
- #!/bin/bash:指定使用Bash解释器来执行脚本。
- while true:开始一个无限循环。
- ps -aux > ~/back_up:运行ps命令,将系统运行的前台进程信息输出到用户家目录下的back_up文件中。
- sleep 60:等待60秒钟,然后再次执行ps命令,实现每隔1分钟输出一次前台进程信息。
第二步,设置周期性任务:
使用crontab -e命令编辑cron表,添加以下一行:
```
* * * * * /home/username/back_up.sh
```
其中,username是你的用户名。这个cron表的含义是每分钟运行一次back_up.sh脚本。
保存并关闭文件。
现在,系统会每隔1分钟自动输出一次前台进程信息到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组合键停止该脚本的执行。
)编写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文件中。
阅读全文