云同步Xshell的session配置
经常要在不同机器间同步Xshell的session,很是痛苦,于是想能不能搞成云同步。
我使用的Dropbox做云同步,在Dropbox目录下新建sessions文件夹。
打开Xshell,点击工具->选项。
点击图中红框的按钮,将目录改为你在Dropbox文件夹下新建的sessions目录,然后点击确定。
提示:已有的session记录会自动迁往新文件夹下
现在开始享受云同步的乐趣吧。 :)
经常要在不同机器间同步Xshell的session,很是痛苦,于是想能不能搞成云同步。
我使用的Dropbox做云同步,在Dropbox目录下新建sessions文件夹。
打开Xshell,点击工具->选项。
点击图中红框的按钮,将目录改为你在Dropbox文件夹下新建的sessions目录,然后点击确定。
提示:已有的session记录会自动迁往新文件夹下
现在开始享受云同步的乐趣吧。 :)
最近在基于微社区开放平台接口开发一个应用,遇到传图接口的问题。
代码如下:
$pic = SAE_TMP_PATH . time() . uniqid() . '.png';
file_put_contents($pic, $picData);
$data = array(
'appToken' => $appToken,
'sId' => $sId,
'accessToken' => $accessToken,
'pic' => '@' . $pic,
);
$url = '/v1/thread/upload';
return $this->request($url, self::METHOD_POST, $data); // 发起curl请求
请求结果一直返回“图片类型不允许”的报错。
排查一番后发现是由于未指定文件的MIME类型导致,将代码改为下面的调试通过。
$pic = SAE_TMP_PATH . time() . uniqid() . '.png';
file_put_contents($pic, $picData);
$data = array(
'appToken' => $appToken,
'sId' => $sId,
'accessToken' => $accessToken,
'pic' => '@' . $pic . ';type=image/jpeg',
);
$url = '/v1/thread/upload';
return $this->request($url, self::METHOD_POST, $data);
最近发现业务上报的日志里某个字段为空,需要找出有问题的数据,搜索一番好不容易找到判断为空的命令。
命令如下:
cat test.log | awk -F'\t' '$1 ~/^$/{print $1}'
写日志代码:
$dir = rtrim($dir, '/') . '/' . ltrim($logFile, '/');
// 自动创建不存在的目录
$directory = dirname($dir);
if (!is_dir($directory)) {
$oldUmask = umask(0);
mkdir($directory, 0777, true);
umask($oldUmask);
}
$fd = fopen($dir, "a+");
if (!$fd) {
error_log("Logger: Cannot open file ($dir)");
return false;
}
$logData = implode("\t", $data);
fwrite($fd, $logData. "\n");
fclose($fd);
同事反馈上报的日志格式错误,看了下日志,发现居然有串行的现象。
搜索一番才知道,当写的数据过大时,可能会产生串行的问题。
If handle was fopen()ed in append mode, fwrite()s are atomic (unless the size of string exceeds the filesystem's block size, on some platforms, and as long as the file is on a local filesystem). That is, there is no need to flock() a resource before calling fwrite(); all of the data will be written without interruption.
参考资料:
封装php的Log类
好吧,又是一到公司就收到邮件。
同样的,纪念一下。