Linux crontab 内容定时备份

crontab -r 是一个很危险的命令,它将直接重置 crontab 中的内容;输入 crontab 后,使用 ctrl + d 退出也将清空 crontab 中的内容。所以 crontab 内容的定时备份也变得有必要了。 备份脚本 crontab_bak.sh #!/bin/bash crontab -l > /home/tom/crontab_bak/bak`date '+%Y%m%d_%H%M%S'`.txt config in crontab 12 12 * * * /bin/bash /home/tom/crontab_bak/crontab_bak.sh crontab 常用命令 crontab -l # 列举 crontab 的任务 crontab -e # 编辑 crontab 的任务 crontab -r # 删除 crontab 的任务;风险 crontab -h # crontab 的帮助 crontab -i # 删除 crontab 前进行提示 – EOF –

March 7, 2017 · 1 min · 67 words · Me

解决 Ubuntu warning Setting locale failed

在配置新服务器时遇到 Setting locale failed 的警告,要求 Please check that your locale settings perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_MESSAGES = "zh_CN.UTF-8", LANG = "zh_CN.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 解决方法 安装 localepurge 管理语言文件 sudo apt-get install localepurge 选择我们想要的语言,例如 en_US.UTF-8 和 zh_CN.UTF-8 当然也可以使用以下命令再次进行配置: sudo dpkg-reconfigure localepurge 生成自己想要的语言 sudo locale-gen zh_CN.UTF-8 en_US.UTF-8 打印出当前的配置信息 locale 默认情况下终端 ssh 的时候会将本地的 locale 传到服务器中,可以通过命令指定 ssh 服务器的语言: ...

March 3, 2017 · 1 min · 93 words · Me

IMOOC HTML+CSS 基础课程笔记

【注意】内容不再维护。 HTML+CSS 基础课程-慕课网 2017 年一个心愿,认真学习前端,成为公司里最厉害前端工程师。Flag 立的还是很大的。 第 1 章 HTML 介绍 HTML 是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 CSS 样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。 JavaScript 是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用 JavaScript 来实现的。 第 2 章 认识标签(第一部分) 常常会听到一个词,语义化。说的通俗点就是:明白每个标签的用途(在什么情况下使用此标签合理)。 比如,网页上的文章的标题就可以用标题标签,网页上的各个栏目的栏目名称也可以使用标题标签。文章中内容的段落就得放在段落标签中,在文章中有想强调的文本,就可以使用 em 标签表示强调等等。 语义化可以给我们带来什么样的好处呢? 更容易被搜索引擎收录。 更容易让屏幕阅读器读出网页内容。 1、在网页上要展示出来的页面内容一定要放在 body 标签中; 2、如果想在网页上显示文章,这时就需要 <p> 标签了,把文章的段落放到 <p> 标签; <p>段落文本</p> 3、标题标签一共有 6 个,h1、h2、h3、h4、h5、h6 分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。<h1> 是最高的等级: <hx>标题文本</hx> <!-- x为1-6 --> 4、在一段话中特别强调某几个文字,这时候就可以用到 <em> 或 <strong> 标签。在浏览器中 <em> 默认用斜体表示,<strong> 用粗体表示。两个标签相比,目前国内前端程序员更喜欢使用 <strong> 表示强调: <em>需要强调的文本</em> <strong>需要强调的文本</strong> 5、<span> 标签是没有语义的,它的作用就是为了设置单独的样式用的: <span>文本</span> 6、想引用某个作家的一句诗,这样会使你的文章更加出彩,那么 <q> 标签是你所需要的: <q>引用文本</q> 7、<blockquote> 的作用也是引用别人的文本。但它是对长文本的引用,如在文章中引入大段某知名作家的文字,这时需要这个标签。 ...

February 23, 2017 · 10 min · 2060 words · Me

回顾 2016

2016 肯定是很特别的一年。年初离开了老师的队伍,来北京找实习。年中和 318 告别,大学毕业了。年末换房学做饭,开始另种生活。对于 2017 更多了对自己的期待。 2016 是在保定的雾霾中开始。结束了大为,决定离开老师的队伍,来北京实习,这对我来说是一个不大不小的决定。老师带着,跟学长一起走到这里,这里有了很多宝贵的东西,有很多回忆,很多故事可以讲。选择离开,主要还是想看看在这之外的是什么样子。 朋友、老师、爸妈都为我的实习操过心,不过推荐的地方在各种奇怪的理由下都没有成。自己开始在拉勾上投简历,一次次来返在京石铁路上。面试一直是不顺的。完全没有想到对实习生有如此高的要求,很多技术问题正中下怀。心里是有落差的,在我当时的想法里,那些在工程中是用不易用到的,但也感到自己技术知识的浅薄。面试了俩三家后也发现了套路,回答不好的、答不上的问题,回去查查准备准备,下回就能用上。 没什么难度的大学毕业。大学里更多的收获是跟着老师、学长在课堂外搞事,是和宿舍的、好朋友在一起的时间。真的好幸运啊,遇到 318 的舍友们。没想到和你们每一个人都超级聊的来。大四的时候人就渐渐不齐,但只要宿舍在,不到最后毕业真的不知道要分别了。我们相互影响着成长,至少除去了我很多很 low 的思想。我们相互练着酒量、每天演着戏、日常说着骚话。 德育答辩上一个同学说:我常翘课、考试挂科,但我大学四年过的很坦荡,我会因为和舍友游戏上的一个好玩的套路高兴很久。我收获朋友。我没什么后悔的。 这很戳中我的泪点。没什么后悔的,也是对我大学的注脚。愿你们成家的幸福,工作的有成。 从上学到工作,过渡的很平稳。工作中有一些挑战,但总之是还应对的来。可没有什么出众的地方,我不想过的太平凡,愿有一技之长,独挡一面。我常说自己:菜啊、傻啊、什么的,我确实不想用这些来词来逃避问题,我想尽快的甩掉这些。我也愿自己可以更有底气和勇气说出,现在不能说出的话,愿更决绝的对大事小情做决定。 年末随着公司搬家,自己也搬了。炒菜做饭成了每天另一部分。也许才是真正生活二字的开始。 突然想到学长提的一个问题:你们有谁把技术当做以后安身立命的本事? 现在对于我来说,这问题的答案比任何时候都更加清晰。 最后,还是怀揣着 2014 末的敬请期待,让一切皆有可能,开始 2017。 —— 送给 木林木丶 – EOF –

December 31, 2016 · 1 min · 30 words · Me

Ubuntu 下使用 UFW 管理防火墙服务

UFW (Uncomplicated Firewall) 作为 iptables 的前端应用,给用户提供了简单的接口界面。使用着不需要去记非常复杂的 iptables 语法。UFW 也使用了 简单英语 作为它的参数。像 allow、deny、reset 就是他们当中的一部分。UFW 绝对是那些想要快速、简单的就建立自己的防火墙,而且还很安全的用户的最佳替代品之一。 检查系统上是否已经安装 UFW sudo dpkg --get-selections | grep ufw 安装 UFW sudo apt-get install ufw UFW 常用命令 查看 UFW 状态 sudo ufw status see configured rules even when inactive ufw show added 启用/禁用 UFW # 启用 sudo ufw enable # 禁用 sudo ufw disable 先添加 ufw allow ssh,防止墙掉自己 查看 UFW 规则 需要先启用 UFW sudo ufw status verbose 在每条规则上加个序号数字 ...

October 10, 2016 · 1 min · 212 words · Me

【Core Java】读书笔记 Part 2

本文总结的是书中的:第 5 章 继承 前几章的总结在:ZYF.IM-【Core Java】读书笔记 Part1 5 继承 5.1 类、超类和子类 1、有些人认为 super 与 this 引用是类似的概念,实际上,这样比较并不太恰当。这是因为 super 不是一个对象的引用,不能将 super 赋予另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字。 2、使用 super 或 this 调用构造器的语句必须时子类构造器的第一条语句。也就是说 super 和 this 不能同时出现在一个构造器中。 3、this 关键字。 引用隐式参数 调用该类其他的构造器 4、super 关键字 调用超类的方法 调用超类的构造器 5、调用构造器的语句只能作为另一个构造器的第一条语句出现。 6、一个对象变量可以指示多种实际类型的现象被称为多态。在运行时能够自动的选择则调用哪个方法的现象称为动态绑定。 7、Manager[] managers = new Manager[10]; 将它转换成 Employee[] 数组是完全合法的: Employee[] staff = managers;// OK 毕竟如果manager[i]是一个 Manager,也一定是一个 Employee,然而,实际上,将会发生一些令人惊讶的事情。要切记 managers 和 staff 引用的时同一个数组。现在请看: staff[0] = new Employee("Harry Hacker", ..); 编译器竟然接纳了这个赋值操作。staff[0]与manager[0]引用的是同一个对象,似乎我们把一个普通雇员擅自归入了经理行列中了。这时一个种很忌讳发生的情形,当调用managers[0].setBonus(1000)的时候,将会导致调用一个不存在的实例域,今儿搅乱相邻存储空间的内容。 为了确保不发生这类错误,所有数组都要牢记创建它们的元素类型,并负责监督仅将类型兼容的引用存储到数组中。 ...

September 23, 2016 · 2 min · 284 words · Me

LeetCode Shell 解题集合

LeetCode Shell 的试题多为文本操作,195. Tenth Line、193. Valid Phone Numbers、192. Word Frequency、194. Transpose File 暂时只有 4 道题,就整合在这一起了 Shell 中文本处理的事情基本 awk sed grep sort uniq tail head 几个命令组合组合就搞定了 195. Tenth Line 大体意思 How would you print just the 10th line of a file? For example, assume that file.txt has the following content: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10 Your script should output the tenth line, which is: ...

September 19, 2016 · 3 min · 574 words · Me

Ubuntu 下使用 sysv-rc-conf 管理开机启动服务

sysv-rc-conf gives an easy to use interface for managing “/etc/rc{runlevel}.d/” symlinks. The interface comes in two different flavors, one that simply allows turning services on or off and another that allows for more fine tuned management of the symlinks. 安装 sysv-rc-conf sudo apt-get install sysv-rc-conf 使用 sysv-rc-conf sudo sysv-rc-conf 操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用 Ctrl+n 翻下一页,用 Ctrl+p 翻上一页,用 q 退出。 相关知识 Ubuntu 运行级别 Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。 Ubuntu 的系统运行级别: 0 停机 1 单用户,Does not configure network interfaces, start daemons, or allow non-root logins 2 多用户,无网络连接 Does not configure network interfaces or start daemons 3 多用户,启动网络连接 Starts the system normally. 4 用户自定义 5 多用户带图形界面 6 重启 查看当前运行级别,执行命令: ...

September 19, 2016 · 2 min · 381 words · Me

Eclipse Java 注释模板

自己总结的比较规范的 Eclipse Java 注释模板 Eclipse Java 注释模板设置 Window -> Preference -> Java -> CodeStyle -> Code Template 然后展开 Comments 节点就是所有需设置注释的元素 各项注释模板 Files /** * Copyright © ${year}. All rights reserved. * * @Title: ${file_name} * @Prject: ${project_name} * @Package: ${package_name} * @Description: ${todo} * @author: ${user} * @date: ${date} ${time} */ Types /** * * * @ClassName: ${type_name} * @Description: ${todo} * @author: ${user} * @date: ${date} ${time} * ${tags} */ Fields /** * @fieldName: ${field} * @fieldType: ${field_type} * @Description: ${todo} */ Constructors /** * @Title:${enclosing_type} * @Description:${todo} * ${tags} */ Methods /** * * * @Title: ${enclosing_method} * @Description: ${todo} * @author: ${user} * ${tags} * @return: ${return_type} */ Overriding methods /* (no Javadoc) * <p>Title: ${enclosing_method}</p> * <p>Description: </p> * ${tags} * ${see_to_overridden} */ 定制 ${user} 显示内容 找到你的 Eclipse 安装路径,打开 eclipse.ini 文件,在 -vmargs 下面添加 ...

September 18, 2016 · 1 min · 142 words · Me

MySQL LIMIT 查询优化

最近常在 SQL 中使用到 LIMIT ? ?,在执行 LIMIT 0, 1000 与 LIMIT 100000, 1000 时,查询速度明显有很大的区别,而且随着 LIMIT 的偏移量的增加,查询速度越来越慢。是否有办法对 SQL 中 LIMIT 查询进行优化呢? LIMIT 速度慢的原因 LIMIT 100000, 1000 的意思扫描满足条件的 101000 行,扔掉前面的 100000 行,返回最后的 1000 行,问题就在这里。 LIMIT 优化思路 1、尽可能从索引中直接获取数据,避免或减少直接扫描行数据的频率 2、尽可能减少扫描的记录数,也就是先确定起始的范围,再往后取 N 条记录即可 LIMIT 优化示例 原始 SQL -- 含条件 SELECT * FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 100, 10; -- 不含 WHERE SELECT * FROM `t1` ORDER BY id DESC LIMIT 100, 10; 子查询优化 SQL -- 采用子查询的方式优化,在子查询里先从索引获取到最大 id,然后倒序排,再取 10 行结果集 -- 注意这里采用了 2 次倒序排,因此在取 LIMIT 的 start 值时,比原来的值加了 10,即 935510,否则结果将和原来的不一致 SELECT * FROM (SELECT * FROM `t1` WHERE id > ( SELECT id FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 935510, 1) LIMIT 10) T ORDER BY id DESC; INNER 优化 SQL -- 采用 INNER JOIN 优化,JOIN 子句里也优先从索引获取 ID 列表,然后直接关联查询获得最终结果,这里不需要加 10 SELECT * FROM `t1` INNER JOIN ( SELECT id FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 935500,10) t2 USING (id); 1、要学着使用 EXPLAIN 对 SQL 进行优化调整 2、推荐使用 INNER 优化 SQL 3、发现了一个 ubuntu 中监控 MySQL 的 mytop 命令,刚刚安装还没细研究 ...

September 18, 2016 · 1 min · 200 words · Me