Linux计划任务;日志管理;远程服务

计划任务

一次性计划任务


yum -y install at
systemctl start atd
systemctl enable atd

at 时间
at now +1min  #一分钟后计划做一个事情
at now +1min|1hour|1day|1week|1month|1year

at 10am/pm  #早上/下午10点计划做一件事情
at 10:00

teatime  #下午四点
noon  #中午十二点
midnight  #午夜十二点
tomorrow  #明天

at teatime 2024-10-11  #2024-10-11日下午茶16点计划做一件事情

atq #查看系统内有的计划任务
cd /var/spool/at/  #系统内计划任务内容的目录
atrm ID  #删除
at -c ID  #查询具体计划任务

循环计划任务

systamectl status crond
crontab -l  #列出当前用户的计划任务
crontab -e  #编辑计划任务
crontab -r  #删除全部计划任务(谨慎使用)
*   *   *   *   * 
分  时  日   月  周
0 10 * * *
0 22 * * *  每天晚上十点
0 10 10 * *  每月10号早上十点
0 10 10 10 *  每十月十号早上十点
0 8 * * 1  每周一早上八点

0 8-12 * * *  每天早上八点到十二点
0 10 1,5,15 * *  每月一号五号十五号早上十点

*/10 * * * *  每十分钟
* */2 * * *  两小时的每分钟
0 */2 * * *  每两小时的整点

vim /etc/cron.deny  #root管理用户不让用计划任务,写入用户名即可

练习

1、每周1、3、5、7下午3点打包压缩/etc目录到/tmp/下,并命名为config.tar.gz
#0 15 * * 1,3,5,7 tar -cvzf /tmp/config.tar.gz /etc
2、每月的5号每隔两个小时整点执行,将free -m的结果输出到/tpm/memory.txt
#0 */2 5 * * free -m >/tpm/memory.txt
3、每分钟执行
* * * * *
4、每月1号到10号整点执行
#0 * 1-10 * *
5、描述下列计划任务
* 2 * * *		
#每天2点的每分钟执行一次
*/2 5 * * *		
#每天5点每隔2分钟执行一次
0 3,10,15 1-10 * *	
#每月1号到10号的每天3点10点15点执行一次
1-30/2 * * * * 
#每小时的前面30分钟每隔两分钟执行一次
6、今天下午4点执行
#at teatime
#at 4pm
7、三天后的上午十点
#at 10am +3days 
8、午夜12点执行
#at midnight

使用其他用户创建

[root@linux-server ~]# crontab -u jack -e  #使用jack用户创建
[root@linux-server ~]# crontab -u jack -l  #查看jack用户的计划任务
[root@linux-server ~]# crontab -r  #删除当前用户的计划任务
[root@linux-server ~]# crontab -u jack -r #删除jack用户的计划任务
使用者权限文件:
文件:
/etc/cron.deny
说明:
该文件中所列用户不允许使用crontab命令

文件:
/etc/cron.allow
# 当这个文件产生时,/etc/cron.deny文件失去作用,只有这个文件中的用户才能使用crontab
说明:
该文件中所列用户允许使用crontab命令

系统本身的计划任务
 /etc/crontab

日志轮转

系统日志 审计日志 诊断日志

一、日志重要性

Linux系统日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。

Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。

二、日志系统rsyslog

日志管理基础

rsyslog 日志管理 
logrotate日志轮转

一、处理日志的进程

rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron... httpd/nginx/mysql: 可以自己的方式记录日志
[root@linux-server ~]# ps aux |grep rsyslogd
root        752  0.0  0.2 216440  5548 ?        Ssl  20:18   0:00 /usr/sbin/rsyslogd -n

日志配置主文件:
/etc/rsyslog.conf 

日志管理

二、常见的日志文件(系统、进程、应用程序)

#tail -f /var/log/messages		        	#动态查看日志文件的尾部,系统主日志文件

#tail -f /var/log/secure		            #记录认证、安全的日志

tail /var/log/maillog			            #跟邮件postfix相关

#tail /var/log/cron			                #crond、at进程产生的日志

tail /var/log/dmesg			              	#和系统启动相关

#tail /var/log/yum.log                       #yum的日志

tail -f /var/log/mysqld.log                 #MySQL日志

tail /var/log/xferlog                  		#和访问FTP服务器相关

/var/log/boot.log                           #系统启动过程日志记录存放

#[root@linux-server ~]#w					   #当前登录的用户 /var/log/wtmp

#[root@linux-server ~]#last				   #最近登录的用户 /var/log/btmp
第一列,用户名;
第二列,终端位置,/pts/0 (伪终端)意味着从诸如ssh或者telnet的远程链接的用户,tty(teletypewriter)意味着直接连接到计算机或者本地链接的用户;
第三列,登录的ip或者内核。
第四列,开始时间;
第五列,结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机);

[root@linux-server ~]#lastlog			   #所有用户的登录情况 /var/log/lastlog

日志优先级

日志级别分为:7种日志级别代号0-7

0 debug             #有调试信息的,日志信息最多

1 info              #一般信息的日志,最常用

2 notice            #最具有重要性的普通条件的信息

3 warning           #警告级别

4 err               #错误级别,阻止某个功能或者模块不能正常工作的信息

5 crit              #严重级别,阻止整个系统或者整个软件不能工作的信息

6 alert             #需要立刻修改的信息

7 emerg             #内核崩溃等严重信息

none                #什么都不记录

三、logrotate日志轮转

什么是日志轮转? 自动切日志
注:可以针对任何日志文件(rsyslog 日志、Nginx访问或错误日志...)
一、logrotate (轮转,日志切割) 
1. 如果没有日志轮转,日志文件会越来越大
2. 将丢弃系统中最旧的日志文件,以节省空间 
3. logrotate本身不是系统守护进程,它是通过计划任务crond每天执行
logrotate 配置文件:
主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
配置日志轮转
[root@linux-server ~]# vim /etc/logrotate.conf	
weekly     			#轮转的周期,一周轮转,单位有年,月,日 
rotate 4			#保留4份 
create				#轮转后创建新文件 
dateext             #使用日期作为后缀 
#compress			#日志轮替时,旧的日志进行压缩 
include /etc/logrotate.d  			 #包含该目录下的配置文件,会引用该目录下面配置的文件

/var/log/wtmp {			          	#对该日志文件设置轮转的方法    
 monthly			                #一月轮转一次  
 minsize 1M			            	#最小达到1M才轮转,否则就算时间到了也不轮转
 create 0664 root utmp		        #轮转后创建新文件,并设置权限   
 rotate 2			                #保留2份 
}

/var/log/btmp {    
 missingok			              	#丢失不提示    
 monthly			                
 create 0600 root utmp		        
 rotate 1			                
} 

ssh远程管理服务

openssh-service  提供服务
openssh-clients   客户端

sshd服务的端口号----22

安装

[root@linux-server ~]# yum install -y openssh*
1.服务器端启动服务:
systemctl  start  sshd
2.关闭防火墙和selinux

登录方式

远程登录:
[root@linux-server ~]# ssh root@192.168.246.114
参数解释:
root 用户默认不写为root,也可以使用其他用户
无密码登陆(ssh密钥认证)
1.产生公钥和私钥:  生成一对密钥:公钥+私钥
[root@linux-server ~]# ssh-keygen  #一直回车
2.查看钥匙的目录:
[root@linux-server ~]# cd /root/.ssh/
id_rsa  ---私钥
id_rsa.pub  ---公钥
known_hosts  ----确认过公钥指纹的可信服务器列表的文件
authorized_keys ---授权文件,是传输过公钥到对方服务后会自动重命名生成的
3.拷贝公钥给对方机器:
[root@linux-server ~]# ssh-copy-id 对方机器ip地址
ip地址:指的是对方服务器
4.远程连接的时候就不用输入密码了
修改端口号:
修改配置文件:
# vim /etc/ssh/sshd_config
17 #Port 22   #将注释去掉,修改端口号可以修改为自定义的。
[root@linux-server ~]# systemctl restart sshd

远程登录
-p:prot端口,指定端口,如果端口修改了需要指定
案例:
[root@linux-server ~]# ssh root@192.168.246.158 -p 2222

修改DNS反解析
#UseDNS yes 改为no
[root@linux-server ~]# systemctl restart sshd

远程拷贝

远程拷贝:
# scp  -P 端口号 /a.txt    ip:/路径
                源文件      目标地址

[root@linux-server ~]# scp -r -P 2222 test/ 192.168.246.158:/root/
谁是远程加谁ip
远程拷贝目标机器改了端口加-(大)P 
目录加 -r

tcpwrapper—访问控制工具

1.tcp wrapper是一种访问控制工具是操作系统自带的,类似于防火墙(iptables)可以作访问控制。
2.针对系统进程来做限制的
============================
#TCPwrapper配置
TCPwrapper有两个配置文件。
1./etc/hosts.allow   --允许
2./etc/hosts.deny    --拒绝
TCPwrappers先查找/etc/hosts.allow,再查找/etc/hosts.deny,如果两个配置中有冲突,先匹配中的优先,也就是hosts.allow中的配置优先,如果两个配置都没命中,默认放行。

TCPwrapper作用范围

tcpwarpper要看该应用是否依赖libwrap.so这个库文件。
例如tcpwrapper可以控制ssh服务,因为实现ssh协议的sshd程序依赖了libwarp.so库文件,

实战案例:

允许192.168.246.158这台机器访问我的服务器,其他禁止掉

[root@wrap-server ~]# vim /etc/hosts.allow  #在文件后面新增一行
sshd:192.168.246.158
[root@wrap-server ~]# vim /etc/hosts.deny  #在文件后面新增一行
sshd:ALL       #拒绝所有
===========================
sshd:192.168.246.159 #拒绝某个IP

常用命令

ping
-c:指定次数
-w:超时指定时间
-i:ping的速度

telnet ip  端口  #探测端口

扩展内容

#telnet与ssh的区别:
telnet:不安全,没有对传输数据进行加密,容易被监听,还有遭受中间人攻击,telnet不能压缩传输数据,所以传输慢
ssh:对数据进行了加密,安全度高,ssh传输数据经过压缩,所以传输速度比较快
实现服务器时间对时(ntp)
[root@localhost ~]# yum install ntp
[root@localhost ~]# ntpdate cn.pool.ntp.org

#如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了:
00 12 * * * /sbin/ntpdate cn.pool.ntp.org

cn.pool.ntp.org是ntp网络授时组织的中国授时源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值