作用之一:
sgid的作用就是让普通用户可以在执行某个设置了sgid位的命令时,
拥有和命令对应用户组(一般为root用户组)一样的身份和权限(默认)。
locate搜索内容,默认从updatedb对应的数据库中查找
updatedb 更新locate查找内容对应的数据库。
updatedb
ls –l
/var/lib/mlocate/mlocate.db
-rw-r----- 1 root slocate 1977042 Oct 8 00:47 /var/lib/mlocate/mlocate.db
[root@oldboyedu ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data
sgid基于目录的作用:
让不同的人创建文件属于相同的用户组,从而可以互相共享文件的权限。
Linux系统定时任务:
1、什么是定时任务?
周期性的执行任务计划的软件,Linux定时任务的常用软件crond。
2、使用定时任务软件,可以每天,每小时按你需求重复的执行一项工作。
例如:备份 都是0点以后,2点爬起来备份,4点以后睡觉。
需要写一个程序实现自动备份,然后让定时任务软件帮你执行。
闹钟。。。。可以追女朋友。。。
3、怎样用。
(1)系统定时任务计划
1.不用管理员干预,系统自动执行。
2.也可以利用系统任务为管理员服务。
(2)用户定时任务计划
在Linux系统中,
cron是定时任务的软件名,
crond是服务进程名,真正实现定时任务服务。
crontab命令是用来设置定时任务规则的配置命令。
要想配置定时任务,首先启动crond服务。
systemctl start crond.service
systemctl stop crond.service
systemctl status crond.service
开启自启动:
systemctl disable crond.service
systemctl enable crond.service
crontab命令是用来设置定时任务规则的配置命令。
内容存放哪里了。定时任务内容存放的位置/var/spool/cron/
以当前用户名作为文件名
-l l列表 查看已经设置的定时任务*
-e edit 编辑定时任务*
-u user 查看特定用户下定时任务
root:
crontab -l == cat /var/spool/cron/root
crontab -e == vim /var/spool/cron/root
编写定时任务的语法:
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * (command to be executed)
共六列:
第一列:分minute (0 - 59)
第二列:时hour (0 - 23)
第三列:日day of month (1 - 31)
第四列:月month (1 - 12) ORjan,feb,mar,apr ...
第五列:周day of week (0 - 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
第六列:要执行的任务命令或程序
特殊符号:
* 表示的 每或每一 的意思
00 23 * * * cmd
- 连续区间1-10
00 8-23 * * * cmd
, 列举1,2,3,4,8
00 1,2,3,4,8 * * * cmd
/n n是数字。
n代表自然数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成
*/10 * * * * cmd
老男孩思想:
1)先输入* * * * *
2)先命令行操作成功。
3)拷贝命令到定时任务编辑里。
运维规范:
脚本位置:/server/scripts
软件位置:/server/tools
编译位置:/application/软件名字-版本,然后要软链接。
生产环境下的定时Cron书写要领:
要领1:为定时任务规则加必要的注释
要领2:所有的定时任务尽量都以脚本的形式执行
要领3:在执行的Shell脚本前加上/bin/sh
要领4:定时任务中命令或脚本的结尾加>/dev/null2>&1
要领5:在指定用户下执行相关定时任务
要领6:生产任务计划程序中不要随意打印输出信息,有输出的想法去掉。
要领7:定时任务执行的脚本要存放到规范路径下
要领8:配置定时任务要规范操作过程,减少出错
要领9:定时任务脚本中程序命令及路径尽量用全路径
要领10:时间变量%号要用反斜线转义(只有定时任务里是命令时需要)
要领11:若脚本中调用了系统环境变量,要重新定义
要领12:出错或无法执行,就检查/var/log/cron日志