linux强制覆盖复制所有文件与不覆盖复制所有文件

强制不提示覆盖复制所有文件:

 cp -Rf /root/OneDrive/* /root/gdrive/ 

 

不覆盖不提示复制所有文件:

 awk 'BEGIN { cmd="cp -ri /root/OneDrive/* /root/gdrive/"; print "n" |cmd; }' 

 

源目录:/root/OneDrive/  #所有文件末尾加*即可
目标目录:/root/gdrive/

 

多文件配合挂断命令执行,效果更佳:

Linux服务器SSH挂断后继续后台运行命令

speedtest脚本手动指定城市测速

项目地址:https://github.com/sivel/speedtest-cli/

下载并赋予权限:

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli

执行:

./speedtest-cli --server 27377                           #北京电信
./speedtest-cli --server 5145                            #北京联通
./speedtest-cli --server 25858                           #北京移动
./speedtest-cli --server 27594                           #广州电信
./speedtest-cli --server 26678                           #广州联通
./speedtest-cli --server 6611                            #广州移动
./speedtest-cli --server 3633                            #上海电信
./speedtest-cli --server 21005                           #上海联通
./speedtest-cli --server 30154                           #上海移动

数字代码参考链接:
https://www.speedtest.net/speedtest-servers-static.php
查看该网页的代码。
找到城市运营商对应的id=代码即可。

电信:Telecom
联通:Unicom
移动:Mobile

 

VPS服务器测试命令

net-speeder加速工具(可搭配BBR,比锐速好用)

项目:https://github.com/snooda/net-speeder

原理:双倍发包,配合BBRplus使用效果更好

开始安装

apt-get install zip
wget https://github.com/snooda/net-speeder/archive/master.zip
unzip master.zip 

debian/ubuntu:
#安装libnet-dev:

apt-get install libnet1-dev 

#安装libpcap-dev:

apt-get install libpcap0.8-dev  

#安装gcc:

apt-get install gcc  

编译:
Linux Cooked interface使用编译(venetX,OpenVZ):

cd net-speeder-master
chmod +x build.sh
sh build.sh -DCOOKED 

普通网卡使用编译(Xen,KVM,物理机):

cd net-speeder-master
chmod +x build.sh
sh build.sh 

使用方法(需要root权限启动):

#参数:./net_speeder 网卡名 加速规则(bpf规则)
#ovz用法(加速所有ip协议数据):

./net_speeder eth0 "ip"       #eth0为网卡名称

 

如果kvm下报错:err msg:[libnet_write_raw_ipv4(): -1 bytes written (Message too long)
#关闭tso

apt-get install ethtool
ethtool -K eth0 tso off         #eth0为网卡名称
ethtool -K eth0 ufo off

以下两项关闭操作谨慎使用:

ethtool -K eth0 tx off
ethtool -K eth0 rx off tx off tso off gso off 

原理:原本默认是网卡硬件芯片替cpu分担一部分传输处理负荷,但是在vps中由于网卡是虚拟的,几十甚至上百台虚拟机共用一个物理网卡,通常的情况是网卡本身就忙到死,cpu却很空闲,这时修改参数,让cpu来承担这部分工作能改善一下网络性能。

终极用法:

nohup ./net_speeder eth0 "ip" >/dev/null 2>&1 & 
exit

查看net-speeder是否运行:

ps aux|grep net_speeder|grep -v grep  

停止net-speeder:

top  #找到net_speeder的进程编号
kill 进程号

Linux服务器SSH挂断后继续后台运行命令

VPS服务器一些加速脚本

 

Gcore伯力改邮箱方法

简单逻辑流程:
1、添加另一个邮箱账户,必须给所有权限。

 

2、登陆被添加的邮箱账户,删除另一个账户,就ok!

 

思路就是添加一个账户,删除另外一个账户,简单易懂。

还有控制面板密码修改:

1、找到机器控制面板账号和密码。

以下就是登陆控制面板的信息。

2、更改机器控制面板密码(账号改不掉)。

注意点:
1、必须给被添加的账户全部权限!
2、如果前一个账户如果有未关闭的工单……那就删不掉,必须关闭工单才能删除。

开启hsts实现域名跳HTTPS

1、需要先开启SSL 证书。

2、添加代码:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

 

 Nginx 配置 HSTS

Nginx 服务器中的配置最为简单,只需要编辑 Nginx 配置文件(如:/usr/local/nginx/conf/nginx.conf)将下面行添加到你的 HTTPS 配置的 server 块中即可:

<pre><code bbcode=enable> add_header Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”;</code></pre>

如果你发现直接添加在 server 块中无效的情况,你可以试试直接插入到 location ~ *php 内:

<pre><code bbcode=enable> location ~ [^/]\.php(/|$) {
add_header Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”;
}</code></pre>

配置保存后重启 Nginx 服务。

3、PHP重载配置、重启PHP程序。

测试打开HTTP链接是否跳转到HTTPS

4、同时建议开启301跳转

强制跳转www域名,实现http向https跳转强制使用SSL状态码200

Ubuntu16.04设置IP/网关/DNS

对于Ubuntu和CentOS 6配置都适用。

1、修改IP地址

打开/etc/network/interfaces

sudo vim /etc/network/interfaces

加入以下语句:

auto eth0 #要设置的网卡
iface eth0 inet static #设置静态IP;如果是使用自动IP用dhcp,后面的不用设置,一般少用
addressxxx.xxx.xxx.xxx #IP地址
netmaskxxx.xxx.xxx.xxx #子网掩码
gatewayxxx.xxx.xxx.xxx #网关

2、修改DNS(个别系统DNS修改也在网卡设置里)

打开/etc/resolv.conf

sudo vim /etc/resolv.conf

注意:上面设置的文件重启后会覆盖,如果要持久的保存,需要修改:/etc/resolvconf/resolv.conf.d/base

改为如下内容:

search localdomain #如果本Server为DNS服务器,可以加上这一句,如果不是,可以不加
nameserver 8.8.8.8 #希望修改成的DNS
nameserver 8.8.4.4 #希望修改成的DNS

3、重启服务生效

先运行一次,然后在rc.local里加入这个重启网络配置的命令:

sudo /etc/init.d/networking restart #使网卡配置生效
sudo /etc/init.d/resolvconf restart #使DNS生效

4、查看DNS是否已经生效

cat /etc/resolv.conf

阿里云ECS修改DNS方法(部分使用此方法更靠谱)

https://yq.aliyun.com/articles/490958?spm=5176.10695662.1996646101.searchclickresult.23786d79UbfLpU

vim /etc/resolvconf/resolv.conf.d/head

将DNS内容写入文件:


    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 10.0.1.1
    nameserver 10.0.1.2
    nameserver 10.0.1.3

执行命令:

resolvconf -u

最后查看是否生效:

cat /etc/resolv.conf

 

纯IPV6主机修改谷歌DNS64(NAT64),可访问IPV4地址

nameserver 2001:67c:2b0::4 
nameserver 2001:67c:27e4::64

linux中使用lighttpd安装简单web服务

平台系统:Ubuntu 16.04

安装 Lighttpd

 apt-get update 
 apt-get install lighttpd 
设置 Lighttpd

如果有更高的需求,我们可以通过修改默认设置文件,如/etc/lighttpd/lighttpd.conf,来对 Lighttpd 进行进一步设置。 而在这份教程中我们将使用默认设置,不对设置文件进行修改。如果你曾做过修改并想检查设置文件是否出错,可以执行下面的指令。

 lighttpd -t -f /etc/lighttpd/lighttpd.conf 
开启服务

现在,通过执行 systemctl 指令来重启 Web 服务。

 systemctl start lighttpd 

然后我们将它设置为伴随系统启动自动运行。

 systemctl enable lighttpd 
设置防火墙

如要让我们运行在 Lighttpd 上的网页或网站能在 Internet 或同一个网络内被访问,我们需要在防火墙程序中设置打开 80 端口。由于 CentOS 7 和 Ubuntu15.04 都附带 Systemd 作为默认初始化系统,所以我们默认用的都是 firewalld。如果要打开 80 端口或 http 服务,我们只需执行下面的命令:

 firewall-cmd --permanent --add-service=http 

success

 firewall-cmd --reload 

success

正常情况下可以省略设置防火墙的步骤,网站目录:/var/www/html

最后把域名指向服务器即可访问!

Linux服务器SSH挂断后继续后台运行命令

当我们断开SSH连接时,运行的命令也会终止。如何才能在断开SSH客户端后,让命令在后台自动运行呢?

解决方法:
1.nohup命令
功能:不挂断地运行命令,忽略HUP信号。
语法:nohup command &
中间红色command是需要运行的命令
退出时输入命令:exit
则能保证命令在后台继续运行!

举例:
1. sh test.sh &  
将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失(缺少的日志的输出)
将sh test.sh任务放到后台 ,关闭xshell,对应的任务也跟着停止。
2. nohup sh test.sh  
将sh test.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。
3. nohup sh test.sh  & 
将sh test.sh任务放到后台,但是依然可以使用标准输入,终端能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

注意:退出时切记输入命令:exit

4、nohup 命令 参数 >/dev/null 2>&1 &
我们并不需要linux来记录日志,而且时间长了nohup.out文件会变的非常大,所以我们把linux中的日志全部丢到/dev/null中,相当于放入垃圾桶。>/dev/null是将1放进黑洞, 2>&1是将2放进1,最终都进入黑洞。