LMLPHP后院

rsync transfer file through ssh jump技术

maybe yes 发表于 2021-04-29 19:45

很少使用,很早就知道 ssh 是个非常强大的东西,不过它不太稳定,容易死掉。对于传输文件的 jump 方式也许是比较方便的做法。

测试了一番,发现是可以用的,只不过在 ssh 参数里面不再可以使用 ssh config 中的配置别名了,这也好理解,因为 rsync 的参数中的命令不会再去匹配配置文件,不知道有没有更加简单的写法。

sudo rsync -avz --append --progress -e 'ssh -J root@x.com:22' lmlphp:bak/ bak/

运行之后的结果会是怎么样呢?当然是输入两次密码啦,第一次先输入跳板机的密码,第二次输入目标机的密码。

不知道 rsync 本身有没有提供类似的功能参数呢!

Fatal Error:imagecreatefromstring(): gd-png: fatal libpng error: CgBI: unhandled critical chunk in技术

maybe yes 发表于 2021-04-25 20:44

处理图片经常会遇到各种错误,处理这些错误似乎没有什么好的方法,记录一下:

https://bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL2ltYWdlczAuY25ibG9ncy5jb20vYmxvZzIwMTUvNzU1MTYxLzIwMTUwOC8wODIxMjMxNDA2NTEzMzQucG5n.jpg
[1998668.388722] ieee80211 phy0: brcmf_run_escan: error (-110)
May  1 03:51:34 raspberrypi kernel: [1998668.388743] ieee80211 phy0: brcmf_cfg80211_scan: scan error (-110)

Error: Could not resolve host 怎么回事技术

maybe yes 发表于 2021-04-23 21:36

域名解析是个头等大事啊!

短短的几十分钟,产生了 17000 多行错误日志,损失了1700 多位用户。

生活会教会你如何选择一个域名服务商!

php-fpm 顺滑的启动 重启 终止操作技术

maybe yes 发表于 2021-04-21 16:26

很多时候,我们被 service, /etc/init.d/ 洗脑了,觉得来个方便的操作就应该是那样,想起当年老师讲 signal 的时候,觉得排不上用场,通信一般都是 socket 的啊,有谁会用信号来进行进程的通信呢?这不,signal 肯定是有优点的,我们习惯了 kill 掉一个命令,却总是忘记了使用信号来的更加优雅。

启动 php-fpm

/usr/local/php/sbin/php-fpm

php 5.3.3 以后的 php-fpm 不再支持 php-fpm 以前具有的 php-fpm (start|stop|reload) 等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制。 

代码分享技术

maybe yes 发表于 2021-04-14 10:09

好东西要分享:

$content = file_get_contents('1615442217.txt');
$t = base64_decode($content);
$a = explode("\n", $t);
$store = array();
foreach ($a as $k => $v){
        $v = trim($v);
        if (!$v) {
                continue;
        }
        $v = preg_replace('/ssr:\/\//i', '', $v);
        $v = str_replace('-', '+', $v);                                                                                                                                                
        $v = str_replace('_', '/', $v);
        $tt = base64_decode($v);
        $aa = explode('/?', $tt);
        $store[$k]['x'] = explode(':', $aa[0]);
        parse_str($aa[1], $store[$k]['y']);
        $store[$k]['x'][5] = base64_decode($store[$k]['x'][5]);
        foreach ($store[$k]['y'] as &$n) {
                $n = str_replace(array('-', '_'), array('+', '/'), $n);
                $n = base64_decode($n);
        }
}

$long_str = '';

foreach ($store as $k => $v) {
        if ($k < 2) {
                continue;
        }
        $v['x'][5] = base64_encode($v['x'][5]);
        $v['x'][5] = str_replace(array('+', '/'), array('-', '_'), $v['x'][5]);
        $str = implode(':', $v['x']);
        foreach ($v['y'] as $a=>$b) {
                if ($a == 'remarks') {
                        $v['y'][$a] = str_replace('Free-', '', $v['y'][$a]);
                        $v['y'][$a] = base64_encode($v['y'][$a]);
                        $v['y'][$a] = str_replace(array('+', '/', '='), array('-', '_', ''), $v['y'][$a]);
                        continue;
                }
                if ($a == 'group') {
                        $v['y'][$a] = 'LinCloud';
                        $v['y'][$a] = base64_encode($v['y'][$a]);
                        $v['y'][$a] = str_replace(array('+', '/', '='), array('-', '_', ''), $v['y'][$a]);
                        continue;
                }
                if ($a == 'protoparam') {
                        $v['y'][$a] = base64_encode($v['y'][$a]);
                        $v['y'][$a] = str_replace(array('+', '/', '='), array('-', '_', ''), $v['y'][$a]);
                        continue;
                }
                $v['y'][$a] = '';
        }
        $str .= '/?'.http_build_query($v['y']);
        //$str .= '/?'.implode(':', $v['y']);
        $str = 'ssr://'.str_replace(array('+', '/'), array('-', '_'), base64_encode($str))."\n";
        $long_str .= $str;
}

echo str_replace(array('+', '/'), array('-', '_'), base64_encode($long_str));
2021-05-14 09:58:03 1620957483 0.030804