那些有用没用的问题收集
目录
警告
本文最后更新于 2022-06-22,文中内容可能已过时。
1. 计划任务配置中/etc/crontab和crontab -e的区别
1.1. 二者差异
- 级别差异
/etc/crontab
是系统级别的crontab,系统的设置
crontab -e
是用户级的crontab
linux下实际保存在/var/spool/cron/username
中
有些系统设置即使用root账号crontab -e
也不行,必须放到/etc/crontab
中 - 语法区别
/etc/crontab 有用户字段
*/5 * * * * root /root/scripts/refresh.sh >/dev/null 2>&1
crontab -e中不能设置用户字段
1 * */1 * * /bin/sh /root/scripts/refresh.sh > /dev/nul 2>&1
1.2. 注意点
/var/spool/clientmqueue
目录过大,占用磁盘满了
原因:/var/spool/clientmqueue
是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件
解决:将输出重定向,如> /dev/null
2>&1,补充:错误输出也要重定向/etc/crontab
的读写权限 不要随意改动这个文件的读写权限,这个文件应该设置成644或者600,否则会报(system) BAD FILE MODE (/etc/crontab )
- 手动能够执行,但是crontab脚本里面不执行
解决:检查下crontab的环境变量 :
|
|
2. CentOS 7.x 设置开机启动项报错,或软连接报 Too many levels of symbolic links
这个问题报错原因其实已经说明得很明显了,实际上就是在同一个地方创建了同样名字的多个软连接,之所以记录是应为网上鬼扯了一些毫无关联解决方案,可能也存在那样的问题,这儿遇见的是在设置开机启动项systemctl enable
的时候报的错,检查了下发现,systemctl enable
设置的目录确实是已经存在了一个同名的了,把原来的那个删掉或者改个名字,在创建正常
3. HTTP 响应码分类
4. Git 和 SVN的区别
git
是分布式的,svn
是集中式的git
存储数据是以元数据形式存储,svn
是按文件,原数据怎样的结构,存储就是怎样的结构- 分支不同,
svn
的分支就是复制了一个目录出来