Linux实验六——关于mail和crontab
Posted 夜中听雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux实验六——关于mail和crontab相关的知识,希望对你有一定的参考价值。
题目答案这个博客都写了
Linux实验6(定时器crontab、邮件mail)_LittleSeedling的博客-CSDN博客
笔记待改,下面的内容不推荐阅读。
我的一些测试
[root@wu1 cron]# yum install -y mailx
[root@wu1 cron]# yum install -y sendmail
mail、mailx、sendmail的区别 _ppby2002的专栏-CSDN博客
mail发邮件报错 “send-mail: fatal: parameter inet_interfaces: no local interface found for ::1” - 天宇星空 - 博客园
发邮件测试
[root@wu1 ~]# echo "content" | mail -s "subject" root # 邮件的subject和content。邮件发送得很慢。
You have new mail in /var/spool/mail/root
[root@wu1 ~]# cat /var/spool/mail/root # 邮件地点
定时任务测试一
[root@wu1 ~]# crontab -e # 在编辑器中输入:*/1 0-23/1 * * * date
no crontab for root - using an empty one
crontab: installing new crontab
# 会每隔一分钟发出一份下方这样的邮件到/var/spool/mail/root
From root@wu1.localdomain Fri May 7 14:21:01 2021
Return-Path: <root@wu1.localdomain>
X-Original-To: root@wu1
Delivered-To: root@wu1.localdomain
Received: from wu1 (localhost [127.0.0.1])
by wu1.localdomain (Postfix) with ESMTP id A96424302E
for <root@wu1>; Fri, 7 May 2021 14:21:01 +0800 (CST)
Received: (from root@localhost)
by wu1 (8.14.7/8.14.7/Submit) id 1476L1q3028137;
Fri, 7 May 2021 14:21:01 +0800
Date: Fri, 7 May 2021 14:21:01 +0800
Message-Id: <202105070621.1476L1q3028137@wu1>
From: "(Cron Daemon)" <root@wu1.localdomain>
To: root@wu1.localdomain
Subject: Cron <root@wu1> date
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=9535>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Fri May 7 14:20:01 CST 2021
定时任务测试二
[root@wu1 ~]# vim /root/test/date.sh # 在编辑器里输入:echo "bye"
[root@wu1 ~]# crontab -e # 修改编辑器中内容为编辑器:*/1 0-23/1 * * * /root/test/date.sh
[root@wu1 ~]# chmod 777 /root/test/date.sh # 原本为"rw-r--r--"。不修改这个,邮件内容为:/bin/sh: /root/test/date.sh: Permission denied
# 会每隔一分钟发出一份下方这样的邮件到/var/spool/mail/root
From root@wu1.localdomain Fri May 7 14:36:01 2021
Return-Path: <root@wu1.localdomain>
X-Original-To: root@wu1
Delivered-To: root@wu1.localdomain
Received: from wu1 (localhost [127.0.0.1])
by wu1.localdomain (Postfix) with ESMTP id 3BE334302E
for <root@wu1>; Fri, 7 May 2021 14:36:01 +0800 (CST)
Received: (from root@localhost)
by wu1 (8.14.7/8.14.7/Submit) id 1476a1PE029500;
Fri, 7 May 2021 14:36:01 +0800
Date: Fri, 7 May 2021 14:36:01 +0800
Message-Id: <202105070636.1476a1PE029500@wu1>
From: "(Cron Daemon)" <root@wu1.localdomain>
To: root@wu1.localdomain
Subject: Cron <root@wu1> /root/test/date.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=9554>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
bye
# 没找到定时把"bye"打印到控制台的办法,但可以使定时任务不发邮件,而是输出内容到某文件中。
[root@wu1 ~]# vim /root/test/date.sh # 修改编辑器中内容为:echo "bye" >> /root/test/hh.txt
[root@wu1 ~]# crontab -u root -l # 会每隔一分钟追加一个"bye"到/root/test/hh.txt
*/1 0-23/1 * * * /root/test/date.sh
[root@wu1 ~]# cat /root/test/hh.txt
其他
date
[root@wu1 ~]# date -I # i的大写字母,表示按照 ISO-8601 的日期/时间格式输出时间。
2021-05-07
[root@wu1 ~]# date '+%Y-%m-%d %H:%M:%S'
2021-05-07 16:00:31
查看服务是否开启
查看服务是否开启的两种方式:
1、ps -ef | grep vsftpd。
ps -ef | grep vsftpd | grep -v 'grep'。ps -ef | grep vsftpd有两条记录,一个是vsftp的进程,一个是grep进程,通过-v参数去掉grep的记录。
2、netstat -ntlp | grep 23。23端口,telnet服务。
切割
# awk和cut都可以进行切割:
[root@wu1 ~]# cat /etc/passwd | cut -d: -f1,3,4 # 把输出内容按“:”分割,取出其中的1、3、4列,然后用“:”分隔这3列。
root:0:0
。。。
[root@wu1 ~]# cat /etc/passwd | awk -F: '{print $1":"$3":"$4}' # 把输出内容按“:”分割,取出其中的1、3、4列,然后用“:”分隔这3列。
root:0:0
。。。
tail
[root@wu1 ~]# tail -f /root/test/program.sh # 参数f,当文件增长时,输出后续添加的数据。ctrl+c结束。
[root@wu1 ~]# cat /root/test/program.sh | tail -n1 # tail命令的参数,-n<行数> 显示文件的尾部 n 行内容
userdel
userdel -r a123 # -r,删除用户登入目录以及目录中所有文件。
ls的参数d、R。
[root@wu1 test]# ls -l /root/test
total 5920
-rwxr-xr-x 1 root root 572 Apr 30 23:36 file.sh
-rwxr-xr-x 1 root root 699 May 7 08:57 menu.sh
-rwxr-xr-x 1 root root 395 Apr 30 11:27 score.sh
[root@wu1 test]# ls -ld /root/test # d参数,只会把当前目录/root/test打印出来。
drwxr-xr-x 2 root root 4096 Apr 30 23:36 /root/test
# 新建目录New Folder和目录下文件New File
[root@wu1 test]# ls -Rl /root/test # R参数,递归打印
/root/test:
total 5924
-rwxr-xr-x 1 root root 572 Apr 30 23:36 file.sh
-rwxr-xr-x 1 root root 699 May 7 08:57 menu.sh
drwxr-xr-x 2 root root 4096 May 7 09:16 New Folder
-rwxr-xr-x 1 root root 395 Apr 30 11:27 score.sh
/root/test/New Folder:
total 0
-rw-r--r-- 1 root root 0 May 7 09:16 New File
cat /etc/vsftpd/vsftpd.conf | tail -n1。得到输出结果的最后一行
chkconfig --list | grep telnet 1>a.txt。前几行是系统提示,不是输出流里的东西,无法转走。“telnet:on”是正确输出流,才能被转移输出到文件。
以上是关于Linux实验六——关于mail和crontab的主要内容,如果未能解决你的问题,请参考以下文章