LINUX学习笔记(十一)
(一)永久挂载:
编辑/etc/fstab文件,然后输入mount -a 命令,如下图所示:
解除/mnt目录下的挂载:
执行该命令后,因为配置文件并没有改变,所以再次执行 mount -a 命令,会再次实现/dev/sr0在/mnt目录下的永久挂载。
(二)系统延时任务:
at命令可以指定某一任务在特定时间执行(注:Ctrl +D 表示执行该命令):
该命令表示在一分钟之后输出“hello”字符串。
执行该命令一分钟之后,会以邮件的形式将“hello”输出,如下图所示:
与之对应,当at命令之后没有输出时,便不会有邮件发出:
此时收件箱只有之前系统发送的一封邮件,即该命令没有邮件输出:
若想无论at命令之后有无输出,都会有邮件形式发送,需要在at命令符之后加上-m 参数,此时都会有邮件发送,只是后者的邮件只是起到命令已执行的提示作用,并无具体输出:
执行该命令后,可以看到也会有邮件发送:
若想取消该延时任务,需要输入命令at -d 后面加上该任务的编号即可取消,具体操作如图:
at命令的黑名单与白名单:
编辑文件: vim /etc/at.allow
然后在该文件中加上已存在的一用户名称,即表示该用户可以使用at命令,具体操作如图所示:
然后在该文件中加上student用户名字:
则student用户即可使用at命令:
用户黑名单的操作与上类似,编辑文件/etc/at.deny,在该文件中加上某已存在的用户的名字,则该用户便不可使用该命令,具体操作如下图所示:
注:1.当一用户既存在于白名单中又存在于黑名单中时,白名单生效。
2.at命令的其他格式:
(1)at 14:49 +
(2)at 14:49 2018-10-28+
具体操作 :表示在该具体时间执行该该操作。
(3)at 10:00 pm+
(4)at 10:00am 2018-10-28+
3.“at -l ”命令等同于“atq”命令,都为列出当前的延时任务:
4.“at -d”命令等同于“atrm”命令,都为删除某延时任务:
(三)发送邮件:
(1)mail -s 'xxx' user1
hello 表示给user1用户发送邮件,该邮件的题目为‘xxx’,内容为‘hello’
(2)mail -s 'xxx' user2 < /etc/passwd
表示给user2用户发送邮件,该邮件的题目为‘xxx’,内容为/etc目录下的passwd文件
(四)生成系统周期性任务命令crond:
1.crontab的黑白名单:
黑名单:/etc/cron.deny(系统默认存在)
白名单:/etc/cron.allow
具体规则:如果/etc/cron.allow内存在用户,则只有该文件中的用户可以执行crontab命令,如果该文件为空,则只有root用户可以执行该命令。
2.crontab文件(crond服务管理)
用户及周期性任务:
输入以下命令 : vim -e
并编辑该文件内容为:
* * * * * echo "hello"
表示每分钟向root用户发送“hello”字符串。
编辑完成后,会在/var/spool/cron目录下生成root文件,内容即为之前编辑内容,表示为该用户生成周期性任务:
系统级的周期性任务:
/etc/crontab /etc/cron.d /etc/cron.{monthly,weekly,daily,hourly}
3.crontab的格式:
分钟 小时 天 月 周
#几个特殊符号:
*:每分/小时/天/月/周执行
/n:每隔n后执行
x-y:从x到y 执行
,:或者
几个典型用法:
05 * * * *:每小时整点过五分钟
05 02 * * *:每天的2:05am
30 08 01 * *:每月的一号8:30am
00 07 25 12 * :12月25号的7:00am
30 16 * * 5:每周五的4:30pm
*/5 * * * *:每五分钟
*/10 9-17 1,15 * *:每月的第一天和第十五天9:00am到5:00pm每隔十分钟
0 0 1 Jan 0:一月一日午夜和每个周日(不仅仅是一月一日所在的周日)
crontab命令:
crontab -e #编辑在目前用户下crontab命令
crontab -e -u user #编辑user用户的crontab命令:
crontab -l # 列出当前crontab命令
crontab -r # 删除
注:每次编辑更改后,需要重新启动该服务: