任务一、任务调度
1、使用at命令完成如下操作:
a、19:00执行reboot任务;
[root@bogon ~]#at 19:00
at> reboot
at> <EOF>
job 2 at 2020-04-09 19:00
[root@bogon ~]#
b、2020年12月2日19:00执行备份操作,将/var/www文件夹打包到/root目录下,命名为www.bak.tar;
[root@bogon ~]#at 19:00 2.12.20
at> tar cvf /root/www.bak.tar /var/www
at> <EOF>
job 3 at 2020-12-02 19:00
[root@bogon ~]#
c、查看当前已有的at计划任务列表;
[root@bogon ~]# at -l
2 2020-04-09 19:00 a root
3 2020-12-02 19:00 a root
[root@bogon ~]#
d、查看当前已有的at计划详细内容;
[root@bogon ~]# at -c 2
MAIL=/var/spool/mail /root; export MAIL |
PATH=/usr/ lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/ local/sbin:/u
sr/ local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin; export PATH
INPUTRC=/etc/ inputrc; export INPUTRC
PWD=/root; export PWD
LANG=en_ US.UTF-8; export LANG
KDE IS_ PREL INKED=1; export KDE IS_ PREL INKED
SSH ASKPASS=/usr/ 1 i bexec/openssh/gnome -ssh-askpass; export SSH_ ASKPASS
SHLUL=1; export SHLUL
HOME=/root; export HOME
LOGNAME=root; export LOGNAME
QTLIB=/usr/l ib/qt-3.3/lib; export QTLIB
CVS_ RSH=ssh; export CVS_ RSH
LESSOPEN=NI/usr/bin/ lesspipe .sh\ %s; export LESSOPEN
G_ BROKEN_ F ILENAMES=1; export G_ BROKEN_ FILENAMES
cd /root ||{
echo ' Execution d irectory inaccessible' >&2
exit 1
${SHELL:-/bin/sh} << '(dd if=/dev/urandom count=200 bs=1 2>/dev/null HLC_ ALL=C tr
-d -c'[:alnum:]')'
reboot #这一行最重要
[root@bogon ~]# at -c 3
MAIL=/var/spool/mail /root; export MAIL |
PATH=/usr/ lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/ local/sbin:/u
sr/ local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin; export PATH
INPUTRC=/etc/ inputrc; export INPUTRC
PWD=/root; export PWD
LANG=en_ US.UTF-8; export LANG
KDE IS_ PREL INKED=1; export KDE IS_ PREL INKED
SSH ASKPASS=/usr/ 1 i bexec/openssh/gnome -ssh-askpass; export SSH_ ASKPASS
SHLUL=1; export SHLUL
HOME=/root; export HOME
LOGNAME=root; export LOGNAME
QTLIB=/usr/l ib/qt-3.3/lib; export QTLIB
CVS_ RSH=ssh; export CVS_ RSH
LESSOPEN=NI/usr/bin/ lesspipe .sh\ %s; export LESSOPEN
G_ BROKEN_ F ILENAMES=1; export G_ BROKEN_ FILENAMES
cd /root ||{
echo ' Execution d irectory inaccessible' >&2
exit 1
${SHELL:-/bin/sh} << '(dd if=/dev/urandom count=200 bs=1 2>/dev/null |LC_ ALL=C tr
-d -c'[:alnum:]')'
tar cvf /root/www.bak.tar /var/www #这一行最重要
[root@bogon ~]#
e、删除at计划的列表。
[root@bogon ~]# atrm 3
[root@bogon ~]# atrm 2
[root@bogon ~]#atq #等同于 at -l
[root@bogon ~]# #此时任务列表被清空
2、使用crond完成如下操作:
a、添加root用户的计划任务,在每年3、6、9、12月的1号上午6点完成备份操作,将/var/www文件夹打包到/root目录下,命名为www.bak.tar;
[root@bogon ~]#crontab -u root -e
0 6 1 3,6,9,12 * tar cvf /root/www.bak.tar /var/www
[root@bogon ~]#
b、查看root用户的计划表;
[root@bogon ~]# crontab -u root -l
0 6 1 3,6,9,12 * tar cvf /root/www.bak.tar /var/www
c、查看/var/spool/cron目录内查看用户的计划表;
[root@bogon ~]# cat /var/spool/cron/root
0 6 1 3,6,9,12 * tar cvf /root/www.bak.tar /var/www
[root@bogon ~]#
d、删除root用户计划表。
[root@bogon ~]# crontab -r -u root
you have new mail in /var/spool/mail/root
[root@bogon ~]# crontab -u root -l
no crontab for root
[root@bogon ~]#
任务二、进程管理
1、使用ps命令的“-ef”选项组合查看系统进程
[root@bogon ~]# ps -ef
2、使用ps命令的“-aux”选项组合查看系统进程
[root@bogon ~]# ps -aux
3、在一个终端上使用“#ping 127.0.0.1”,在另一个终端上查看该进程并使用kill命令结束进程
[root@bogon ~]# ping 127.0.0.1 #tty1
[root@bogon ~]# ps -aux #tty2
root 6025 0.0 0.0 1832 548 tty1 S+ 23:14 0:00 ping 127.0.0.1
root 6026 0.0 0.1 4908 1488 tty2 Ss 23:15 0:00 -bash
root 6065 0.0 0.1 4256 940 tty2 R+ 23:15 0:00 ps -aux
[root@bogon~ ]#kill -9 6025
#tty1
64 bytes from 127.0.0.1: icmp_seq=645 ttl=64 time=0.140 ms
killed
[root@bogon ~]#
4、使用top查看系统进程
[root@bogon ~]# top
5、在后台运行vi
[root@bogon ~]# vi test.bash&
[1] 6096
6、查看后台任务
[root@bogon ~]# jobs
[1]+ Stopped vi test.bash
[root@bogon ~]#
7、将vi切换到前台
[root@bogon ~]# fg
#!/bin/bash
echo "hello world"
8、将vi挂起
[1]+ Stopped vi test.bash #在上一界面直接 ctrl+z 键
[root@bogon ~]#
9、将挂起的vi切换到后台运行
[root@bogon ~]# bg %1 ;jobs
[1]+ vi test.bash &
[1]+ Running vi test.bash &