最新 分享

Publish our news and thoughts with all.

Popular Articles

Recent Stories

ubuntu查找含有某字符串的所有文件

如果你想在当前目录下 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" ** : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写下面是一些有意思的命令行参数: grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,grep -l pattern files :只列出匹配的文件名,grep -L pattern files :列出不匹配的文件名,grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配'magic’,而不是'magical’),grep -C number pattern files :匹配的上下文分别显示[number]行,grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。这里还有些用于搜索的特殊符号: \< 和 \> 分别标注单词的开始与结尾。例如:grep man * 会匹配 'Batman’、'manic’、'man’等,grep '\<man' * 匹配'manic’和'man’,但不是'Batman’,grep '\<man\>' 只匹配'man’,而不是'Batman’或'manic’等其他的字符串。'^':指匹配的字符串在行首,'$':指匹配的字符串在行尾,

Ubuntu 从php5.5.9升级到php7.1

1. 先升级:sudo apt-get update2. 然后添加PPA:sudo add-apt-repository ppa:ondrej/php2.1 If add-apt-repository isn’t found, you can install it by way of the python-software-properties package:sudo apt-get install python-software-properties3.Once you get the PPA added, you’ll want to do an update so the packages show up:sudo apt-get updateAt this point, you can install PHP 7.x and any extensions you may want.

sudo apt-get install php7.0 # For PHP 7.0sudo apt-get install php7.1 # For PHP 7.1
Scary Warning: Installing the php7.x packages will install Apache, even if you have another web server already installed. This is just how the meta package is setup. You can install php7.x-cli and/or php7.x-fpm directly without installing Apache. If you do end up installing Apache and don’t want or need it, just uninstall it.At this point, you should have PHP 7.x up and running on your server!4. 查看php7的扩展sudo apt-cache search php7-*5. 如果安装过 libapache2-mod-php5,要先卸载 libapache2-mod-php5, 然后安装 libapache2-mod-php7.1否则phpinfo()输出的php版本还是5.5Package named php5 or php5.6 is just a meta-package that pulls one of the available web SAPIs (apache2, fpm or cgi). The easiest way how to remove full stack of packages is to remove php5-common and/or php5.6-common package as everything else depends on it, e.g.:apt-get purge php5-commonThe other option would be to use wildcard support in apt-get and do:apt-get purge 'php5*'

How to install FFmpeg on Ubuntu 14.04

FFmpeg has been removed from Ubuntu 14.04 and was replaced by Libav. This decision has been reversed so that FFmpeg is available now in Ubuntu 15.04 again, but there is still no official package for 14.04. In this tutorial, I will show you how to install FFmpeg from mc3man ppa. Add the mc3man ppa:

sudo add-apt-repository ppa:mc3man/trusty-media
And confirm the following message by pressing <enter>:
Also note that with apt-get a sudo apt-get dist-upgrade is needed for initial setup & with some package upgradesMore info: https://launchpad.net/~mc3man/+archive/ubuntu/trusty-mediaPress [ENTER] to continue or ctrl-c to cancel adding it
Update the package list.
sudo apt-get updatesudo apt-get dist-upgrade
Now FFmpeg is available to be installed with apt:
sudo apt-get install ffmpeg

安全删除sesson_* in /var/lib/php5

cd /var/lib/php5find . -name "sess_*" -print | xargs rm -v针对Ubuntu,在php.ini中设置session.gc_probability的值为1,因为Ubuntu默认该值为0

ubuntu 查看当前目录下文件夹大小

按照目录大小排序,以M为单位,不显示子目录 du -h --block-size=m --max-depth=1 |sort -n   清空日志 释放空间 echo /dev/null > access.log

在Ubuntu 14.04使用cron实现作业自动化

Cron是Linux系统中最有用的工具之一,cron作业是在指定时间到来时被调度执行的作业。最常见的自动化系统管理和自动维护工作,比如每天发出的按计划完成了备份的通知,或者是按计划定时清理/tmp/目录的通知。还有很多Web应用程序也需要执行定时作业。本文讲述了Cron的工作机制,你可以用cron实现调度作业作业。Cron本身是一个守护进程,在后台运行,通过配置文件“crontab”来根据时间调度指定的作业执行。

一、启动Cron服务

基本上所有的Linux发行版在默认情况下都预安装了cron工具。即使未预装cron,也很简单,执行命令手动安装它:
root@ubuntu-14:~# apt-get install cron
接着检查cron服务的状态,默认情况它应该运行于后台。如果它未启动,那么可以手动启动此服务。
root@ubuntu-14:~# service cron startroot@ubuntu-14:~# service cron status cron start/running, process 1027

二、使用Cron帮助

如果cron工作正常,那么你可以使用man命令查看其手册描述的详细用法。
root@ubuntu-14:~# man crontab
上面的命令显示了crontab手册描述的使用方法。如果要查看怎样使用cron作业指定的信息,可以这样:
root@ubuntu-14:~# man 5 crontab
要退出帮助命令手册的显示,按下q键或h键。

三、Crontab命令的用法

下面讲述怎样使用crontab命令实现定时调度作业。

1、对Cron作业进行列表

使用以下命令列出当前用户计划的cron作业。
root@ubuntu-14:~# crontab –l
会列出当前用户的所有cron作业,如果想查看其它用户的cron作业,可以使用如下命令:
root@ubuntu-14:~# crontab –l –u username
这会列出指定用户的cron作业。

2、编辑Cron作业

要添加一个新cron作业,或者是编辑现有的cron作业,可以使用如下命令:
root@ubuntu-14:~# crontab -e

3、移除Cron作业

使用下面的命令移除已经计划的cron作业。
root@ubuntu-14:~# crontab –r
使用下面的命令移除所有已计划的cron作业,且无需再次确认。
root@ubuntu-14:~# crontab –ir

4、命令参数

-u user:用来设定某个用户的crontab服务;file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。-i:在删除用户的crontab文件时给确认提示。

四、用Crontab计划任务

除了通过配置文件来处理计划cron作业之外,还有别的方法可以做到。如果你查看/etc目录,你会发现有这样的目录:cron.daily、cron.hourly、cron.monthly等等。因此,把cron脚本放入这些目录中,那么系统会根据这些目录名定时执行这些作业脚本的。

1、Cron配置类型

Cron有两种配置文件类型,用于调度自动化任务。1)系统级Crontab这些cron作业被系统服务和关键作业所使用,且需要root级的权限才能执行。可以在/etc/crontab文件中查看系统级的cron作业。2)用户级Crontab用户级的cron作业是针对每个用户单独分开的。因此每个用户都可以使用crontab命令创建自己的cron作业,还可以使用以下命令编辑或查看自己的cron作业。
root@ubuntu-14:~# crontab –e
选择编辑器后,你可以配置新cron作业了。

五、用Crontab调度作业

可以使用指定的语法调度cron作业,而且还有速记缩写命令,使的管理cron作业很简单。Crontab语法如下:
* * * * * command to be executed- - - - - -| | | | | || | | | | --- 预执行的命令| | | | ----- 表示星期0~7(其中星期天可以用0或7表示)| | | ------- 表示月份1~12| | --------- 表示日期1~31| ----------- 表示小时1~23(0表示0点)------------- 表示分钟1~59 每分钟用*或者 */1表示

六、新Cron作业配置实例

现在你已经熟悉了crontab命令、语法及cron作业的类型,现在可以创建一些作业计划进行测试。可以使用crontab –e 命令添加。

1、每分钟运行的计划作业

下面的例子,创建一个cron作业,它每分钟输出文本“test cron job to execute every minute”并把文本发送到This email address is being protected from spambots. You need JavaScript enabled to view it.邮箱。首先用crontab命令编辑
root@ubuntu-14:~# crontab –e
写入以下的脚本
SHELL=/bin/bashHOME=/MAILTO=”This email address is being protected from spambots. You need JavaScript enabled to view it.”#This is a comment* * * * * echo 'test cron job to execute every minute':wq!    保存并退出
一旦保存了此cron脚本文件,就可以把它添加到计划的作业中。

2、在指定时间调度Cron job作业

假如想调度某个cron作业,让它在“每个星期四的下午7:00”运行,那么crontab脚本应该这样:
00 19 * * 4 sh /root/test.sh
再把它添加到调度作业中。
root@ubuntu-14:~# crontab -ecrontab: installing new crontab
上面脚本中的“00 19”指的是下午7点,“4”指的是星期四。

七、总结

可以看到,用crontab实现自动化任务是很容易的,而且它可以按分钟、小时、周、月、星期来执行任务。除此之外,Linux还有一个at命令,它适用于处理只执行一次的任务,且需要先运行atd服务。其次要注意环境变量的问题。有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在crontab文件中没有配置环境变量引起的。在crontab文件中定义多个调度任务时,需要特别注环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在crontab文件中指定任务运行所需的所有环境变量,这样,系统执行任务调度时就没有问题了。还要注意清理系统用户的邮件日志。每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,这样日积月累,日志信息会非常大,可能会影响系统的正常运行,因此,将每条任务进行重定向处理非常重要。最后要注意,新创建的cron作业,不会马上执行,至少要过2分钟才执行。如果重启cron服务则会马上执行。