windows删除文件失败:提示源文件名长度大于系统支持的长度 的解决办法
现象:
删除文件失败,提示源文件名长度大于系统支持的长度。请尝试将其移动到具有较短路径名称的位置,或者在执行此操作前尝试将其重命名为较短的名称。
处理方式:
最简单有效的方案,是使用压缩软件的方式将其删除。
1、选择要压缩的文件,右键点击压缩
2、设置压缩参数:选择压缩选项中的“压缩后删除原来的文件(D)”
3、点击“确认”,开始压缩,压缩完成后,原来的文件就被删除了。
Linux使用dd命令安装routeos系统
以下在centos7下,测试通过
把以下命令写到rosinstall.sh中
1 2 3 4 5 6 7 8 9 10 11 12 | wget http://download2.mikrotik.com/routeros/6.43.8/chr-6.43.8.img.zip -O chr.img.zip && \ gunzip -c chr.img.zip > chr.img && \ mount -o loop,offset=33554944 chr.img /mnt && \ ADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \ GATEWAY0=`ip route list | grep default | cut -d' ' -f 3` && \ echo "/ip address add address=$ADDRESS0 interface=[/interface ethernet find where name=ether1] /ip route add gateway=$GATEWAY0 " > /mnt/rw/autorun.scr && \ umount /mnt && \ echo u > /proc/sysrq-trigger && \ dd if=chr.img bs=1024 of=/dev/sda && \ reboot |
运行sh rosinstall.sh即可。
ps:注意/dev/sda为自己的硬盘,通过fdisk -l可以得到。eth0 这个是自己的网卡。要找对。不然ip不会自动绑定。安装完重启会连不上,要通过vnc去绑定。
gitea自建git服务器安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | wget -O gitea https://dl.gitea.com/gitea/1.18.5/gitea-1.18.5-linux-amd64 chmod +x gitea adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git mkdir -p /var/lib/gitea/{custom,data,log} chown -R git:git /var/lib/gitea/ chmod -R 750 /var/lib/gitea/ mkdir /etc/gitea chown root:git /etc/gitea chmod 770 /etc/gitea chmod 750 /etc/gitea chmod 640 /etc/gitea/app.ini export GITEA_WORK_DIR=/var/lib/gitea/ GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini |
建立git用户后建议打开ssh登陆。因为只有这个用户才可以运行服务。root用户就没办法会提示出错。
s5720交换机初始化部署
华为S5720S重置密码-重置
1.重启交换机
按ctrl+B后,进入启动模式。
bootrom默认密码一般是admin@huawei.com或Admin@huawei.com
2.选择7,进入清除console密码
3.选择1,默认模式启动
4.回车,进入
5.设置console密码
sys
user-interface console 0
set authentication password
提示输入密码,设置为admin@123
开机会自动要求改admin密码。密码改为admin123
admin
admin123
6.删除配置
[HUAWEI]undo conf
进入端口
int g0/0/1
启动端口
undo shutdown
关闭端口
shutdown
配置交换机名
[HUAWEI]sysname 交换机名
查看交换机端口情况
dis interface Ethernet brief
创建vlan 10和vlan 20
vlan batch 10 20
[HUAWEI]aaa
[HUAWEI-aaa]local-user admin password cipher admin@123
[HUAWEI-aaa]local-user admin privilege level 15
[HUAWEI-aaa]local-user admin service-type http
[HUAWEI-aaa]return
配置ip地址
dns server 8.8.8.8
dns server 114.114.114.114
interface Vlanif1
ip address 192.168.0.253 255.255.255.0
配置从IP地址(解决RIPv1不连续子网)
ip add 10.0.23.2 sub
配置网关静态路由
ip route-static 0.0.0.0 0.0.0.0 192.168.0.1
http server enable
持续ping
ping -c 1234567890 192.168.0.88
ping -c xxx(1-4294967295) x.x.x.x(ip地址)
这个<1-4294967295>就是可选的ping包数
重置配置文件
startup saved-confiquration
startup saved-confiquration vrpcfg.zip
打开ssh服务
第1步,先建立一个aaa验证用户admin
[SW1]aaa
[SW1-aaa]local-user admin password cipher admin123 #设置aaa用户名和密码
[SW1-aaa]local-user admin privilege level 15 #设置用户级别
[SW1-aaa]local-user admin service-type ssh terminal http
#设置服务类型,开启ssh,终端,和http访问
第2步,设置用户界面视图
[SW1]user-interface vty 0 4
[SW1-ui-vty0-4]authentication-mode aaa #使用aaa验证方式
[SW1-ui-vty0-4]protocol inbound all #允许连入的协议(all包括ssh和telnet)
[SW1-ui-vty0-4]user privilege level 15 #设置用户级别
第3步,配置服务器端rsa秘钥对
[SW1]rsa local-key-pair create #长度采用默认
第4步,新建ssh用户,必须和aaa验证用户同名
[SW1]ssh user admin authentication-type password
#新建ssh用户admin这里使用passwod方式验证
[SW1]ssh user admin service-type all #服务类型all包括stelnet和sftp
[SW1]dis ssh user-information #显示ssh用户信息
第5步,开启stelnet服务
[SW1]stelnet server enable
#各接口简要STP状态
dis stp brief
#具体接口详细STP信息
dis stp interface g0/0/10
#查看当前根桥信息
dis stp
华为交换机设置ntp时间同步
[HUAWEI]display clock
2021-04-01 21:41:35
Thursday
Time Zone(DefaultZoneName) : UTC
[HUAWEI]
1、设置时区
[HUAWEI]clock timezone cst add 8
2、设置时间服务器地址(用的阿里的时间服务器地址)
[HUAWEI]ntp-service unicast-server 203.107.6.88
Warning: The NTP IPv4 server function is disabled. Run the undo server disable command to enable the IPv4 server function.
Warning: The NTP IPv6 server function is disabled. Run the undo IPv6 server disable command to enable the IPv6 server function.
3、查看时间ntp状态
[HUAWEI]display clock
查看ntp服务会话
[HUAWEI]display ntp-service sessions
其他一些常用命令及配置资料
华为 S5720 系列交换机快速配置手册常用命令//华为交换机常用视图:用户视图,系统视图
用户视图:刚开始登入交换机时的视图,一般看到的是尖括号 <>
save // 配置完交换机后保存当前配置的命令
system-view // 进入系统视图的命令
clock timezone BJ add|minus 8 // 设置时区
clock datetime 16:36:00 2020-07-01 // 设置交换机的时间
dis clock utc //查看时间
dis cu // 显示当前配置
dis cu int // 显示当前接口配置
系统视图: 在用户视图下输入 system-view 后进入系统视图, 一般为方括号 []
sysname xxxx //修改交换机设备名,不支持中文
user-interface console 0 //进入第0个console口的用户界面
authentication-mode passwd //配置从console口登入交换机的认证模式为密码认证
set authentication password cipher admin@123 //配置从console口登入交换机的密码
例子(都在系统视图进行配置):
1、开启 SSH 登陆交换机
#1、创建本地密钥对
rsa local-key-pair create
#2、检查是否存在SSH user(可跳过),系统提示没有SSH user 存在
dis ssh user-information
#3、创建SSH user
ssh user xxx authentication-type password
创建名为xxx的用户,认证模式为密码认证
ssh user xxx service-type stelnet
服务类型为stelnet,即SSH
#4、创建用户
aaa
进入aaa
local-user xxx password cipher 12345678
创建对应的SSH用户名,12345678为你想要设置的密码
local-user xxx privilege level 3
设置用户登记,用户level最高到15
local-user xxx service-type ssh
开启该用户允许使用SSH访问设备的权限
#5、启用SSH(stelnet)服务
stelnet server enable
#6、配置vty界面支持的登录协议
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
2、创建 VLAN,设置管理 IP 和 DNS,配置默认路由
vlan batch 1 to 2 10 100
批量创建VLAN1、2、10、100
interface vlan 2
进入VLAN2
ip address 172.16.0.1 255.255.255.0
设置管理IP
dns server 223.5.5.5
dns server 114.114.114.114
dns domain itca.cc
设置DNS
ip route-static 0.0.0.0 0.0.0.0 172.10.0.1
配置所有网络到达所有网络的路径都是由这个172.10.0.1这个地址的接口负责传送
ip route-static 192.168.1.0 255.255.255.0 192.168.0.2是设置静态路由,其中 192.168.1.0 意思是指信息要传到的目的地的 ip 地址,255.255.255.0 为其对应的子网掩码,192.168.0.2 表示信息要达到目的地所要经过的下一个路由器的端口 IP 地址。
3、配置 Trunk 口,配置端口 VLAN
interface gigabitethernet 0/0/24
进入第24个网络端口
port link-type trunk
设置该端口为Trunk模式
port trunk allow-pass vlan 1 to 2
穿透VLAN1、2
interface gigabitethernet 0/0/1
进入第1个网络端口
port default vlan 1
设置该端口为VLAN1
port default vlan
恢复该端口的VLAN缺省值
display port vlan
显示当前各端口的VLAN情况
4、批量配置交换机端口
port-group 1
创建组号为1的端口组
group-member gigabitethernet 0/0/1 to gigabitethernet 0/0/10
把1到10号网络端口加入端口组
port link-type access
批量设置端口为Access模式
port default vlan 10
批量设置端口为VLAN10
5、清除某个端口的配置,启动端口
interface gigabitethernet 0/0/2
打开第2个网络接口
Clear configuration this
清理该端口全部配置信息
Undo shutdown
启动端口
shutdown
关闭端口
6、恢复出厂设置及重启
reset saved-configuration
Y
恢复出厂,输入y确定恢复
Reboot
N
Y
重启设备,第一次输入n不保存配置,第二次输入y确定重启
7、配置 Eth-Trunk 链路聚合
1)手工模式
SW1配置(SW2类似)
interface Eth-Trunk1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
interface GigabitEthernet0/0/1
eth-trunk 1
interface GigabitEthernet0/0/2
eth-trunk 1
2)LACP模式
SW1配置(SW2类似)
interface Eth-Trunk1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
mode lacp-static //配置模式为静态LACP
max active-linknumber 1 //配置活动接口数量(默认活动接口数量为8,此处两条线路一条为主,一条为备。通信是只有活动接口转发数据)
//注:配置完Eth-Trunk之后再加入接口,LACP模式适用与两台设备多条线路互联,可选择其中几条为主,剩余线路为备,线路故障后备线路自动补上,期间业务影响较小
interface GigabitEthernet0/0/1
eth-trunk 1
interface GigabitEthernet0/0/2
eth-trunk 1
8、配置开启 SNMPv2
snmp-agent community read public // 设置读团体名:public
snmp-agent community write private // 设置写团体名:private
snmp-agent sys-info version v1 v2c // 配置SNMP版本 (v1和v2)
snmp-agent sys-info contact ITCA:10086 // 设置联系方式
snmp-agent sys-info location 3rd-flood // 设置设备位置
snmp-agent trap enable
snmp-agent target-host trap address udp-domain 192.168.1.10 params securityname public
// 允许向网管工作站(NMS)192.168.1.10发送Trap报文,使用的团体名为public
lsblk命令浅析
lsblk各个字段解释
默认情况下,lsblk命令将以树状格式列出所有块设备:
[root@MyCloudServer ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
├─xvda1 202:1 0 500M 0 part /boot
└─xvda2 202:2 0 9.5G 0 part
├─centos-root 253:0 0 8.5G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
xvdb 202:16 0 30G 0 disk
└─xvdb1 202:17 0 30G 0 part
└─Xvdbgroup-xvdb1 253:2 0 29.9G 0 lvm /www
[root@MyCloudServer ~]#
MAJ:MIN: 显示设备的主要和次要设备号,MAJ(major number)表示不同的设备类型,MIN(minor number)表示同一个设备的的不同分区。
RM: 显示设备是否可移动。请注意,在此示例中,设备sr0的RM值等于1,表示它是可移动的。
SIZE: 提供有关设容量的信息。
RO: 显示设备是否为只读。在这种情况下,所有设备的RO均为RO = 0,表示它们不是只读的。
TYPE: 显示块设备是磁盘还是磁盘中的分区(部分)的信息。在此示例中,sda和sdb是磁盘,而sr0是只读存储器(rom)。
MOUNTPOINT: 显示设备的挂载点。
列出所有设备
默认选项不会列出所有空设备。要查看这些内容,还可以使用以下命令:
[root@localhost ~]# lsblk -a
列出设备权限和所有者
要列出设备所有者,组和权限,请使用-m选项:
[root@localhost ~]# lsblk -m
清理 Docker 日志
一、概述
Docker 在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加。
Docker 的日志文件存在 /var/lib/docker/containers 目录中
二、处理方案
2.1 使用脚本清理日志(治标)
clean_docker_logs.sh
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash echo "==================== start clean docker containers logs ==========================" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "==================== end clean docker containers logs ==========================" |
2.2 设置Docker容器日志大小(治本)
修改docker-compose.yml
示例:
1 2 3 4 5 6 7 8 | gateway-services: container_name: gateway-services image: adoptopenjdk/openjdk8 restart: always logging: driver: "json-file" options: max-size: "50m" |
max-size=50m,意味着一个容器日志大小上限是50M
重启docker
docker-compose –compatibility up -d
CACTI监控只能查看一天数据,不能显示其他时间解决方法
引起这个原因是因为在网站存放位置的:
graph_image.php
graph_json.php
graph_view.php
graph_xport.php
因为限制了时间戳的最大时间是1600000000,此时间为2020-09-13 20:26:40
改为2600000000或者更大
存在BUG的版本:
=0.8.7<1.2.10
0.8.7至1.2.10所有版本,均会出现此故障
不受影响的版本:
=1.2.10后所有版本,<0.8.7前所有版本
问题分析
Cacti从0.8.7版本开始,也就是说在2007年(13年前)设置了时间戳的值为1600000000,转换成时间为2020-09-13 20:26:40,表示在2020年9月13日20点26分40秒后,选择过滤图形时间会导致失效,图形过滤器出现BUG。
3.修复方法
0.8.7版本至1.0.0版本修复方法如下:
修改当前web根目录下的graph_xport.php和graph_image.php两个文件,查找1600000000,每个文件中会有两个这个值,将其全部改成2088385563,修改后无需重启任何服务,直接刷新当前浏览器即可!
if (!empty(_GET["graph_start"]) &&_GET["graph_start"] < 1600000000) {
graphdataarray["graphstart"]=_GET["graph_start"];
}
if (!empty(_GET["graph_end"]) &&_GET["graph_end"] < 1600000000) {
graphdataarray["graphend"]=_GET["graph_end"];
}
1.0.0版本至1.2.10版本修复方法如下:
修改当前web根目录下的graph_image.php、graph_json.php、graph_xport.php、remote_agent.php这四个文件,查找1600000000,将其全部改成2088385563,修改后无需重启任何服务,直接刷新当前浏览器即可!
if (!isempty_request_var(‘graph_start’) && get_request_var(‘graph_start’) < 1600000000) {
$graph_data_array['graph_start'] = get_request_var(‘graph_start’);
}
if (!isempty_request_var(‘graph_end’) && get_request_var(‘graph_end’) < 1600000000) {
$graph_data_array['graph_end'] = get_request_var(‘graph_end’);
}
9 个实用 Shell 脚本(转)
看到 9 个 shell 脚本范例,运维可以根据实际情况进行修改,9个 shell 脚本如下:
1、Dos 攻击防范(自动屏蔽攻击 IP)
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash DATE=$(date +%d/%b/%Y:%H:%M) LOG_FILE=/usr/local/nginx/logs/demo2.access.log ABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>10)print i}') for IP in $ABNORMAL_IP; do if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then iptables -I INPUT -s $IP -j DROP echo "$(date +'%F_%T') $IP" >> /tmp/drop_ip.log fi done |
2、Linux 系统发送告警脚本
1 2 3 4 5 | # yum install mailx # vi /etc/mail.rc set from=baojingtongzhi@163.com smtp=smtp.163.com set smtp-auth-user=baojingtongzhi@163.com smtp-auth-password=******* set smtp-auth=login |
3、MySQL 数据库备份单循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/bash DATE=$(date +%F_%H-%M-%S) HOST=localhost USER=backup PASS=123.com BACKUP_DIR=/data/db_backup DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys") for DB in $DB_LIST; do BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql if ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null; then echo "$BACKUP_NAME 备份失败!" fi done |
4、MySQL 数据库备份多循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/bash DATE=$(date +%F_%H-%M-%S) HOST=localhost USER=backup PASS=123.com BACKUP_DIR=/data/db_backup DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys") for DB in $DB_LIST; do BACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE} [ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/null TABLE_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null) for TABLE in $TABLE_LIST; do BACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sql if ! mysqldump -h$HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME 2>/dev/null; then echo "$BACKUP_NAME 备份失败!" fi done done |
5、Nginx 访问访问日志按天切割
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash LOG_DIR=/usr/local/nginx/logs YESTERDAY_TIME=$(date -d "yesterday" +%F) LOG_MONTH_DIR=$LOG_DIR/$(date +"%Y-%m") LOG_FILE_LIST="default.access.log" for LOG_FILE in $LOG_FILE_LIST; do [ ! -d $LOG_MONTH_DIR ] && mkdir -p $LOG_MONTH_DIR mv $LOG_DIR/$LOG_FILE $LOG_MONTH_DIR/${LOG_FILE}_${YESTERDAY_TIME} done kill -USR1 $(cat /var/run/nginx.pid) |
6、Nginx 访问日志分析脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #!/bin/bash # 日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" LOG_FILE=$1 echo "统计访问最多的10个IP" awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr |head -10 echo "----------------------" echo "统计时间段访问最多的IP" awk '$4>="[01/Dec/2018:13:20:25" && $4<="[27/Nov/2018:16:20:49"{a[$1]++}END{for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr|head -10 echo "----------------------" echo "统计访问最多的10个页面" awk '{a[$7]++}END{print "PV:",length(a);for(v in a){if(a[v]>10)print v,a[v]}}' $LOG_FILE |sort -k2 -nr echo "----------------------" echo "统计访问页面状态码数量" awk '{a[$7" "$9]++}END{for(v in a){if(a[v]>5)print v,a[v]}}' 7、查看网卡实时流量脚本 #!/bin/bash NIC=$1 echo -e " In ------ Out" while true; do OLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev) OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev) sleep 1 NEW_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev) NEW_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev) IN=$(printf "%.1f%s" "$((($NEW_IN-$OLD_IN)/1024))" "KB/s") OUT=$(printf "%.1f%s" "$((($NEW_OUT-$OLD_OUT)/1024))" "KB/s") echo "$IN $OUT" sleep 1 done |
8、服务器系统配置初始化脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #/bin/bash # 设置时区并同步时间 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime if ! crontab -l |grep ntpdate &>/dev/null ; then (echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l) |crontab fi # 禁用selinux sed -i '/SELINUX/{s/permissive/disabled/}' /etc/selinux/config # 关闭防火墙 if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then systemctl stop firewalld systemctl disable firewalld elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then service iptables stop chkconfig iptables off fi # 历史命令显示操作时间 if ! grep HISTTIMEFORMAT /etc/bashrc; then echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/bashrc fi # SSH超时时间 if ! grep "TMOUT=600" /etc/profile &>/dev/null; then echo "export TMOUT=600" >> /etc/profile fi # 禁止root远程登录 sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config # 禁止定时任务向发送邮件 sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab # 设置最大打开文件数 if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then cat >> /etc/security/limits.conf << EOF * soft nofile 65535 * hard nofile 65535 EOF fi # 系统内核优化 cat >> /etc/sysctl.conf << EOF net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_tw_buckets = 20480 net.ipv4.tcp_max_syn_backlog = 20480 net.core.netdev_max_backlog = 262144 net.ipv4.tcp_fin_timeout = 20 EOF # 减少SWAP使用 echo "0" > /proc/sys/vm/swappiness # 安装系统性能分析工具及其他 yum install gcc make autoconf vim sysstat net-tools iostat if |
9、监控 100 台服务器磁盘利用率脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/bash HOST_INFO=host.info for IP in $(awk '/^[^#]/{print $1}' $HOST_INFO); do USER=$(awk -v ip=$IP 'ip==$1{print $2}' $HOST_INFO) PORT=$(awk -v ip=$IP 'ip==$1{print $3}' $HOST_INFO) TMP_FILE=/tmp/disk.tmp ssh -p $PORT $USER@$IP 'df -h' > $TMP_FILE USE_RATE_LIST=$(awk 'BEGIN{OFS="="}/^\/dev/{print $NF,int($5)}' $TMP_FILE) for USE_RATE in $USE_RATE_LIST; do PART_NAME=${USE_RATE%=*} USE_RATE=${USE_RATE#*=} if [ $USE_RATE -ge 80 ]; then echo "Warning: $PART_NAME Partition usage $USE_RATE%!" fi done done |
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
ssh 连接 centos 服务器时报警告:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
原因是 ssh连接的时候会传递环境变量,这个变量如在服务器没有的环境,就会报这个错误,是LC_CTYPE这个环境变量导致的提示。
对于LC_CTYPE的参数,我们一般建议设置成UTF-8,服务器上配置文件缺少相应配置参数。所以就报错了。
解决办法:
在centos上运行
vi /etc/locale.conf
内容改为:
LANG=en_US.utf8
LC_ALL=en_US.utf8
LC_CTYPE=en_US.utf8
重新连接ssh,就可以解决错误提示。
proxmox 7 :WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.
proxmox 升到7,或是安装7后的版本在使用旧的pct模版LXC的 Centos 7 无法开机,出现以下错误提示:
WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.
TASK WARNINGS: 1
解決方法如下
vim /etc/default/grub
找到以下
GRUB_CMDLINE_LINUX_DEFAULT=”quiet”
改成以下
GRUB_CMDLINE_LINUX_DEFAULT=”systemd.unified_cgroup_hierarchy=0 quiet”
运行更新grub
update-grub
重启服务器
reboot