[转载]linux定时任务如何每隔0.5秒执行一次呢?
* * * * * for i in `seq 120`; do awesome_scripts& sleep 0.5; done
由crontab每分钟调度,每次唤起,循环执行120次,间隔0.5秒.
PS: 很有意思的变通啊.
* * * * * for i in `seq 120`; do awesome_scripts& sleep 0.5; done
由crontab每分钟调度,每次唤起,循环执行120次,间隔0.5秒.
PS: 很有意思的变通啊.
原文地址:awk与cut在以空格为分割域时的区别
awk默认以空格为分割域,比如我想获得某进程pid:
[root@SHCTC-GAME12-44 ~]# ps -ef|grep "sshd -f"|grep -v grep
root 5088 1 0 14:28 ? 00:00:00 /usr/sbin/sshd -f /app/oslinkd/oslinkd_config
用awk如下写:
ps -ef|grep "sshd -f"|grep -v grep|awk '{print $2}'
这样即可获得pid : 5088
但是用cut,若以空格为分隔域,则并不是第二个域,而是第七个域,因为root与5088之间有6个空格:
ps -ef|grep "sshd -f"|grep -v grep|cut -d' ' -f7
结论:
awk 以空格为分割域时,是以单个或多个连续的空格为分隔符的;
cut则是以单个空格作为分隔符。
参考链接:Get specific columns using “with()” function in Laravel Eloquent
Laravel 的预加载使用方式是:
Post::with('user', 'user.extend')->orderBy('id', 'DESC')->paginate(10, array('id', 'content'));
拿到用户和扩展信息太方便了,但是问题是返回的数据太多了,站在一个强迫症的角度简直无法容忍啊。
控制返回的字段有两种方法,一个是在 model 里定义关系时指定好字段,但是不太灵活,还一种是在 ->with()
这里做文章:
Post::with(array(
'user' => function($query) { $query->select('id', 'name'); },
'user.extend' => function($query) { $query->select('birth', 'intro'); },
))->paginate(10, array('id', 'content'));
就这样。
既然可以指定字段那还可以做一些别的什么呢???
项目地址: Transmission RSS
目前支持的有 CHD/CMCT/TTG/OPENCD, 其它 PT 我没有账号无法确定适配, 因为 XML 格式可能不一样.
git clone https://github.com/fengqi/transmission-rss.git transmission-rss
cd transmission-rss
$rssLink = ''; #点击 chd 里的 [RSS下载], 把订阅地址填进去
$server = 'http://127.0.0.1'; # 默认 127.0.0.1
$port = '9091'; # 默认 9091
$rpcPath = '/transmission/rpc'; # 默认 /transmission/rpc
$user = ''; # 用户名, 如果有设置, 填进去
$password = ''; # 密码, 如果有设置, 填进去
sudo crontab -e
写入以后内容
# Transmission RSS 下载
*/10 * * * * /opt/bin/php /opt/transmission-rss/rss.php
php 的路径(使用命令: which php 获取), 和 clone 的项目路径根据自己情况修改下.
其他资源: Transmission ADD-ONS
参考地址: 请问ubuntu中 cron 服务的默认日志存放位置
cron 日志默认是写到 rsyslog 去的, 如果没有日志服务器做处理, 单独剥离出来看会方便很多
修改rsyslog文件, 将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉
重启rsyslog服务service rsyslog restart
重启cron服务service cron restart
more /var/log/cron.log
done
不然浏览器就会提示:
与 git.fengqi.me 的连接采用 128 位加密技术。但是,此页中包含其他不安全的资源。他人能在传输过程中查看这些资源,攻击者也可以进行修改,从而改变网页的外观。
该连接使用 TLS 1.2。
该连接使用 AES_128_GCM 进行加密和身份验证,并使用 ECDHE_RSA 作为密钥交换机制。
重新清理生产 assets 就好了:
cd /home/git/gitlab
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
刷新浏览器.
今天碰到的,好诡异啊,Nginx挂了,启动时发现的.
Nginx在启动的时候也会检查Host是否能解析?
原文链接: 释放 Linux 系统预留的硬盘空间
大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监控系统和管理员一点时间去察觉。不过有时候这部分预留的硬盘空间不用的话有点浪费。如何释放这部分系统预留的空间呢?
在 Linux ext2/ext3/ext4 文件系统上通常默认预留5%的硬盘空间,如果硬盘是 4TB 的话就意味着有 200GB 的空间就这样浪费了,我们可以通过 tune2fs 来改变5%的默认设置,比如只预留1%的空间。可不可以设成0%呢?当然可以,但是不推荐。
查看当前硬盘空间情况:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
32G 1.1G 30G 4% /
tmpfs 24G 0 24G 0% /dev/shm
/dev/sda1 485M 68M 392M 15% /boot
/dev/mapper/vg_cloud22-lv_home
3.2G 70M 2.9G 3% /home
/dev/sdd1 1008G 161G 797G 17% /var/cloud
调整 /dev/sdd1,只预留1%的空间:
# tune2fs -m 1 /dev/sdd1
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 1% (2684381 blocks)
调整后查看释放后的硬盘空间,发现多出了 838-797=41GB 的空间:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
32G 1.1G 30G 4% /
tmpfs 24G 0 24G 0% /dev/shm
/dev/sda1 485M 68M 392M 15% /boot
/dev/mapper/vg_cloud22-lv_home
3.2G 70M 2.9G 3% /home
/dev/sdd1 1008G 161G 838G 17% /var/cloud
如果硬盘被塞满了,想清理硬盘那是另外一回事,可以参考:什么吃掉了我的硬盘?
TODO
原文地址:PHP中的traits
新版内置了Markdown语法支持,打算试试看。