常见系统错误

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 -l

centOS安装:
(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作业

  1. crontab -ir 使用下面的命令移除所有已计划的cron作业,且无需再次确认。
  2. 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编辑器选择

  1. select-editor
    

    选择vim.basic即可

  2. 在终端输入

    echo export EDITOR=/usr/bin/vim >> ~/.bashrc
    
  3. 终极方法,删除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常见系统错误相关推荐

  1. linux系统故障实验,Linux常见系统故障排除

    导读: 前言 运维人员经常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,需要的不仅仅是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那之前首先需要 ...

  2. linux常见问题解答

    linux常见问题解答 1.什么是LINUX? LINUX是一个可独立运作的POSIX兼容操作系统,它也包含了SYS V和BSD的功能.它 完全是独之发展的,所以其中没有任何有版权问题的代码.LINU ...

  3. linux攻击端口,Linux 常见攻击端口封杀表

    Linux常见攻击端口封杀表 # Vi /etc/sysconfig/iptables # INPUT -A INPUT -p tcp --dport 135 -j REJECT -A INPUT - ...

  4. linux搜索有哪些文件夹,Linux常见几个查找命令

    以下命令是很久以前学习Linux,网上查到的命令自己做了下总结.记录在这里方便以后查看. Linux常见五种查找命令 1.which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命 ...

  5. Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块

    Linux 文件系统错误的修复方法  ddrescue替代dd的恢复软件  备用超级块 http://www.mamicode.com/info-detail-1372846.html 最近处理的一件 ...

  6. Linux 常见命令之Find \; +结合其它命令使用案例详解

    Linux 常见命令之Find结合其它命令 声明与简介 Linux里的find命令可以结合其它命令一起使用,比如结合echo.rm 等一起处理.本文主要通过案例来介绍find结合其它命令使用的特点. ...

  7. Linux常见命令汇总(不定期更新)

    Linux常见命令汇总 文件及目录相关命令 命令名称 释义 ls 查看目录下的内容 cd 目录跳转 pwd 打印工作目录 cp 拷贝 mv 移动文件及目录 rm 删除文件及目录 mkdir 创建目录 ...

  8. linux 编译报错 not a directory,Linux常见英文报错中文翻译

    Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...

  9. linux端口被攻击,Linux 常见攻击端口封杀表

    Linux常见攻击端口封杀表 # Vi /etc/sysconfig/iptables # INPUT -A INPUT -p tcp --dport 135 -j REJECT -A INPUT - ...

最新文章

  1. Django 上传图片和Admin站点5.2
  2. RDKit | 基于相似图可视化原子贡献
  3. 深度学习:知识回收(Lecture3+4 PLA+Decision Tree)
  4. JS Array.reduce 实现 Array.map 和 Array.filter
  5. 智能安防新时代:用户、SI、设备制造商要做什么?
  6. nssl1298-网站计划【线段树】
  7. 年月跨度_不畏困难,砥砺前行 ——国内最大跨度管桁架工程成功首滑
  8. VS中监视窗口,即时窗口和输出窗口的使用
  9. QT最常用的字符串操作
  10. 视频教程-程序员面试宝典——助你拿到好offer-招聘/面试
  11. 让你彻底理解线性代数中的概念——《线性代数的本质》系列视频笔记
  12. SOFA BOLT源码解析之设计要点-网络IO
  13. 怎么用计算机磁盘管理分区,在win 7中如何用磁盘管理为硬盘分区呢?
  14. SpaceVim - 让你的vim变得更加高效和强大
  15. P1413 坚果保龄球
  16. python随机密码生成程序
  17. 100 道 Linux 常见面试题,建议收藏!
  18. html5 中scale函数,javascript中scale怎么使用?
  19. Gaussian Mixture Model:混合高斯模型介绍
  20. Thunderbird配置Exchange邮箱

热门文章

  1. python及格率公式_用Python编写成绩管理分析系统(故事升级版)
  2. mobx系列(二)-mobx主要概念
  3. 京东员工出版的计算机书籍,【京东工资】业务员待遇-看准网
  4. 【计算机系统结构】~ MCU、AXI、IIC、SPI、GPIO、JTAG 接口、指令执行步骤、晶体与晶振的区别
  5. 组成微型计算机硬件桶的是,3_微型计算机统.ppt
  6. 闪马智能X浙大校友会|发现不凡境界,科技塑造未来
  7. 市场观察:130个智慧消防中标项目分析
  8. 百度秋招补录测开一面
  9. Unity一键将Text替换成TextMeshPro
  10. 科研小白如何读英文文献?该如何做笔记?(附OneNote笔记多设备同步教程)