Linux常见系统错误
常见系统错误
Linux联网失败解决方法
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
sudo gedit /etc/NetworkManager/NetworkManager.conf
(把false改成true)
sudo service network-manager restart
/root文件夹误删除
/root文件夹误删除执行以下命令cp -a /etc/skel/.[!.]* /root
crontab命令使用
简介
linux下面定期分为二部分,一部分是后台程序crond,一部分是crontab往crond输入指令的接口。
crontab 命令用于安装、删除或者列出用于驱动cron后台进程的表格。也就是说,用户把需要执行的命令序列放到crontab文件中以获得执行,每个用户都可以有自己的crontab文件。
利用crontab编写shell脚本程序,定时执行php相关程序。在这个过程中,经常使用到的crontab命令如下:
(root权限下)
crontab启动:/etc/init.d/cron start ( service cron start )
crontab重启: /etc/init.d/cron restart (service cron restart )
crontab关闭: /etc/init.d/cron stop ( service cron stop )
或者
1)service cron start /启动服务/
2)service cron stop /关闭服务/
3)service cron restart / 重启服务/
4)service cron reload /重新载入配置/
在终端中,可以利用 ps -aux|grep cron查询crontab状态,默认情况下,是自启动的。
安装cron
buntu安装cron
安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
重新载入配置 : service cron reload
检查状态:service cron status
查看crontab服务状态 : service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -lcentOS安装:
(1)vixie-cron 软件包是 cron 的主程序;
(2)crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。yum install vixie-cron
yum install crontabs在CentOS系统中加入开机自动启动:
chkconfig --level 345 crond on
crontab命令常见用法
1)crontab -u /设定某个用户的cron服务/
2)crontab -l /列出某个用户cron服务的详细内容/
3)crontab -r /删除某个用户的cron服务/
4)crontab -e /编辑某个用户的cron服务/
5)crontab -r 使用下面的命令移除已经计划的cron作业
- crontab -ir 使用下面的命令移除所有已计划的cron作业,且无需再次确认。
- crontab -l -u jp //列出用户jp的所有调度任务
分钟 小时 天 月 天每星期 命令
每个字段代表的含义及取值范围如下:
Minute :分钟(0-59),表示每个小时的第几分钟执行该任务
Hour : 小时(1-23),表示每天的第几个小时执行该任务
Day : 日期(1-31),表示每月的第几天执行该任务
Month : 月份(1-12),表示每年的第几个月执行该任务
DayOfWeek : 星期(0-6,0代表星期天),表示每周的第几天执行该任务
Command : 指定要执行的命令(如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径)]30 5 * * * ls /指定每天的 5:30 执行ls命令/
30 7 8 * * ls /指定每月8号的7:30分执行ls命令/
50 7 * * * root run-parts /etc/cron.daily /每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件/每隔一分钟执行一次任务 * * * * *
每五分钟执行 */5 * * * *每小时的0点执行一次任务,比如6:00,10:00 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
每分钟执行一次 * * * * * user command
每隔2小时执行一次 * */2 * * * user command (/表示频率)
每个月2号,每小时的6分和10分执行一次任务 6,10 * 2 * *
每天8:30分执行一次 30 8 * * * user command每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06 /3,/5 * * * *
每小时的30和50分各执行一次 30,50 * * * * user command(,表示并列)
每个月的3号到6号的8:30执行一次 30 8 3-6 * * user command (-表示范围)
每个星期一的8:30执行一次 30 8 * * 1 user command(周的范围为0-7,0和7代表周日)
Ubuntu cron 定时执行任务
ununtu 通过调用 run-parts 命令,定时运行四个目录下的所有脚本。
1)/etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的2分钟时运行;
2)/etc/cron.daily,目录下的脚本会每天让执行一次,在每天0点17分时运行;
3)/etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的3点56分时运行;
4)/etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月19号的5点32分时运行;
当然,以上的时间均是系统默认时间,可以根据自己的需求进行修改
(系统级的)做系统级配置我们会直接配置 /etc/crontab
(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。
使用
第一次进入的时候要选择编辑器,选择后你可以配置新cron作业了,一般是选3
crontab -e
1.Ctrl+O 写入
2.出现“FIile name to Write…”,输入Enter
3.Ctrl+x 保存输出
提示“crontab:installing new crontab”表示成功。
注意 :
1、crond守护进程是在系统启动时由init进程启动的,受init进程的监视,如果它不存在了,会被init进程重新启动。这个守护进程每分钟唤醒一次,并通过检查crontab文件判断需要做什么。
2、每个用户有一个以用户名命名的crontab文件,存放在/var/spool/cron/crontabs目录里。若管理员允许或者禁止其他用户拥有crontab文件,则应编辑/etc/下面的cron.deny和cron.allow这两个文件来禁止或允许用户拥有自己的crontab文件。每一个用户都可以有自己的crontab文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。
例子 :
0 0 10,14,16 * * 每天上午10点,下午2点,4点触发
0 0/30 9-17 * * 朝九晚五工作时间内每半小时触发
0 0 12 ? * WED 表示每个星期三中午12点触发
0 0 12 * * 每天中午12点触发
0 15 10 ? * * 每天上午10:15触发
0 15 10 * * 每天上午10:15触发
0 15 10 * * 每天上午10:15触发
0 * 14 * * 在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * 在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 * 3 WED 每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
0 15 10 15 * * 每月15日上午10:15触发
0 15 10 L * * 每月最后一日的上午10:15触发
15,30,45,59 * * * * echo “xgmtest…” 表示,每隔15分钟,执行一次打印命令
案例 :
1、直接执行命令行,比如每隔1分钟执行date命令并将结果保存至文件/tmp/testCron.txt中,cron 格式如下:
*/1 * * * * date >> /tmp/testCron.txt
2、设定定时任务
每个星期6凌晨3点重启gitlab container
0 3 × × 6 lxc restart gitlab
3、首先创建一个定时任务:每分钟向屏幕输出"Hello world!"。
有两种实现方式:
1)输入crontab -e命令,根据提示直接在当前cron task文本最后面插入如下命令(记得回车):
* * * * * echo "Hello world!"
4、每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
每两个小时(第一个为15,指明没两个小时的第15min中执行一次)
15 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时和早上八点
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
每小时(第一分钟)执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
每天(凌晨4:02)执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
每星期(周日凌晨4:22)执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
每月(1号凌晨4:42)去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。
每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
5,15,25,35,45,55 16,17,18 * * * command
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * *1,3,5 shutdown -r +5
每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
203 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,553 4-91,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
5、每两个小时重启一次apache
0 */2 * * * /sbin/service httpd restart
6、每天7:50开启ssh服务
50 7 * * * /sbin/service sshd start
7、每天22:50关闭ssh服务
50 22 * * * /sbin/service sshd stop
8、每月1号和15号检查/home 磁盘
0 0 1,15 * * fsck /home
9、每小时的第一分执行 /home/bruce/backup这个文件
1 * * * * /home/bruce/backup
10、每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;
11、每月的1、11、21、31日是的6:30执行一次ls命令
30 6 */10 * * ls
重启cron 服务
#service cron restart
扩展
crond启动
crond不同的系统下面启动不同,以archlinux为例
1、crond启动
[root@BlackGhost ~]# crond
2、crond开机启动
a,利用rc.conf
DAEMONS=
(syslog-ng alsa hal net-profiles httpd !
slim @mysqld !network !netfs **crond**
)
b,利用rc.local
在文件的最后加上sudo crond
crontab命令详解
[root@BlackGhost etc]# crontab -hcrontab V3.2crontab file <opts> replace crontab from file //修改文件存放位置
crontab - <opts> replace crontab from stdincrontab -u user specify user //指定用户
crontab -l [user] list crontab for user // 查看命令列表
crontab -e [user] edit
crontab for user //编辑列表
crontab -d [user]
delete crontab for user //删除列表
crontab -c dir specify crontab directory //指定crontab 目录
crontab命令详解
crontab file 指定命令存放
archlinux下面默认crontab命令存放在是在/var/spool/cron/下面,以用户名来命名文件的
[root@Blocalhost etc]# ls /var/spool/cron
root zhangy
如果我想换个位置怎么办呢,看下面
1. [root@BlackGhost etc]# cp /**var**/spool/cron/root /tmp/root 2. [root@BlackGhost etc]# crontab /tmp/root //修改文件存放位置 3. [root@BlackGhost etc]# crontab -l 4. #DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD. 5. # <minute> <hour> <day> <month> <dow> <command> 6. 01 * * * * /usr/sbin/run-cron /etc/cron.hourly 7. 02 00 * * * /usr/sbin/run-cron /etc/cron.daily 8. 22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly 9. 42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly 10. #30 00 * * * /sbin/shutdown -h now 11. 00 18 * * * /home/zhangy/database_bak.sh
1. [root@BlackGhost etc]# cp /var/spool/cron/root /tmp/root[root@BlackGhost etc]# crontab /tmp/root //修改文件存放位置[root@BlackGhost etc]# crontab -l## DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD.# # <minute> <hour> <day> <month> <dow> <command>01 * * * * /usr/sbin/run-cron /etc/cron.hourly
02 00 * * * /usr/sbin/run-cron /etc/cron.daily
22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly
42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly
#30 00 * * * /sbin/shutdown -h now00 18 * * * /home/zhangy/database_bak.sh
crontab -u,crontab -l,crontab -e,crontab -d
[root@BlackGhost etc]# crontab -l -u zhangy //没有任务
[root@BlackGhost etc]# crontab -e -u zhangy //添加任务
[root@BlackGhost etc]# crontab -l -u zhangy //查看任务
00 18 * * * /home/zhangy/database_bak.sh
[root@BlackGhost etc]# crontab -d -u zhangy //删除任务用户
[root@BlackGhost etc]# crontab -l -u zhangy //用户已删除
no crontab for zhangy
[root@BlackGhost etc]# crontab -e -u zhangy //添加任务
[root@BlackGhost etc]# crontab -l -u zhangy //查看
00 18 * * * /home/zhangy/database_bak.sh[root@BlackGhost etc]# crontab -l -u zhangy //没有任务[root@BlackGhost etc]# crontab -e -u zhangy //添加任务[root@BlackGhost etc]# crontab -l -u zhangy //查看任务
00 18 * * * /home/zhangy/database_bak.sh
[root@BlackGhost etc]# crontab -d -u zhangy //删除任务用户[root@BlackGhost etc]# crontab -l -u zhangy //用户已删除no crontab for zhangy
[root@BlackGhost etc]# crontab -e -u zhangy //添加任务[root@BlackGhost etc]# crontab -l -u zhangy //查看00 18 * * * /home/zhangy/database_bak.sh
crontab书写規则
第1列 第2列 3 4 5 6
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab书写規则的例子很多,以下从网上找的,偷懒一下,嘿嘿
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启lighttpd 。
*/1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
扩展
报错信息 :Failed to start crontab.service.service: Unit crontab.service.service not found
crontab编辑器选择
select-editor
选择vim.basic即可
在终端输入
echo export EDITOR=/usr/bin/vim >> ~/.bashrc
终极方法,删除nano编辑器
sudo apt-get remove nano
crontab报错信息
crontab: installing new crontab
"/tmp/crontab.EGUwlF/crontab":23: bad hour
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n) y
Linux常见系统错误相关推荐
- linux系统故障实验,Linux常见系统故障排除
导读: 前言 运维人员经常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,需要的不仅仅是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那之前首先需要 ...
- linux常见问题解答
linux常见问题解答 1.什么是LINUX? LINUX是一个可独立运作的POSIX兼容操作系统,它也包含了SYS V和BSD的功能.它 完全是独之发展的,所以其中没有任何有版权问题的代码.LINU ...
- linux攻击端口,Linux 常见攻击端口封杀表
Linux常见攻击端口封杀表 # Vi /etc/sysconfig/iptables # INPUT -A INPUT -p tcp --dport 135 -j REJECT -A INPUT - ...
- linux搜索有哪些文件夹,Linux常见几个查找命令
以下命令是很久以前学习Linux,网上查到的命令自己做了下总结.记录在这里方便以后查看. Linux常见五种查找命令 1.which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命 ...
- Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块
Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块 http://www.mamicode.com/info-detail-1372846.html 最近处理的一件 ...
- Linux 常见命令之Find \; +结合其它命令使用案例详解
Linux 常见命令之Find结合其它命令 声明与简介 Linux里的find命令可以结合其它命令一起使用,比如结合echo.rm 等一起处理.本文主要通过案例来介绍find结合其它命令使用的特点. ...
- Linux常见命令汇总(不定期更新)
Linux常见命令汇总 文件及目录相关命令 命令名称 释义 ls 查看目录下的内容 cd 目录跳转 pwd 打印工作目录 cp 拷贝 mv 移动文件及目录 rm 删除文件及目录 mkdir 创建目录 ...
- linux 编译报错 not a directory,Linux常见英文报错中文翻译
Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...
- linux端口被攻击,Linux 常见攻击端口封杀表
Linux常见攻击端口封杀表 # Vi /etc/sysconfig/iptables # INPUT -A INPUT -p tcp --dport 135 -j REJECT -A INPUT - ...
最新文章
- Django 上传图片和Admin站点5.2
- RDKit | 基于相似图可视化原子贡献
- 深度学习:知识回收(Lecture3+4 PLA+Decision Tree)
- JS Array.reduce 实现 Array.map 和 Array.filter
- 智能安防新时代:用户、SI、设备制造商要做什么?
- nssl1298-网站计划【线段树】
- 年月跨度_不畏困难,砥砺前行 ——国内最大跨度管桁架工程成功首滑
- VS中监视窗口,即时窗口和输出窗口的使用
- QT最常用的字符串操作
- 视频教程-程序员面试宝典——助你拿到好offer-招聘/面试
- 让你彻底理解线性代数中的概念——《线性代数的本质》系列视频笔记
- SOFA BOLT源码解析之设计要点-网络IO
- 怎么用计算机磁盘管理分区,在win 7中如何用磁盘管理为硬盘分区呢?
- SpaceVim - 让你的vim变得更加高效和强大
- P1413 坚果保龄球
- python随机密码生成程序
- 100 道 Linux 常见面试题,建议收藏!
- html5 中scale函数,javascript中scale怎么使用?
- Gaussian Mixture Model:混合高斯模型介绍
- Thunderbird配置Exchange邮箱
热门文章
- python及格率公式_用Python编写成绩管理分析系统(故事升级版)
- mobx系列(二)-mobx主要概念
- 京东员工出版的计算机书籍,【京东工资】业务员待遇-看准网
- 【计算机系统结构】~ MCU、AXI、IIC、SPI、GPIO、JTAG 接口、指令执行步骤、晶体与晶振的区别
- 组成微型计算机硬件桶的是,3_微型计算机统.ppt
- 闪马智能X浙大校友会|发现不凡境界,科技塑造未来
- 市场观察:130个智慧消防中标项目分析
- 百度秋招补录测开一面
- Unity一键将Text替换成TextMeshPro
- 科研小白如何读英文文献?该如何做笔记?(附OneNote笔记多设备同步教程)