setfacl命令可以用来细分linux下的文件权限,chmod命令可以把文件权限分为u,g,o三个组,setfacl可以对每一个文件或目录设置更精确的文件权限。
比较常用的用法如下:
setfacl –m u:apache:rwx file 设置apache用户对file文件的rwx权限
setfacl –m g:market:rwx file 设置market用户组对file文件的rwx权限
setfacl –x g:market file 删除market组对file文件的所有权限
getfacl file 查看file文件的权限
在用windows时管理linux服务器时,常会用到SecureCRT、Xshell以及开源的putty。在我工作环境大多都是采用密码认证的方式进行登录。今天对学习了些SecureCRT的密钥登录方式。对比密码认证方式,使用密钥认证登录会有以下几个优点:
1、公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦
2、多用户管理服务器时,可以通过多个公钥登录同一用户下,可以避免因为密码认证被用户都需要密码,导致的密码容易泄密的危险。并且使用passwd修改密码,也不会影响到其他用户的登录。
3、做空密码的公钥认证,为运维自动化提供了便捷..
心态
1、要自信,绝对自信,无条件自信,时刻自信,即使在做错的时候。
2、寂寞空虚无聊的时候看点杂志,听听音乐,没事给自己找事干,可以无益,但不能有害。
3、不要想太多,尤其是负面的想法,定时清除消极思想。
4、学会忘记一些东西,那些痛苦的、尴尬的、懊悔的记忆,为阳光的记忆腾出空间。
5、敢于尝试新事物,敢于丢脸,热爱丢脸,勇于挑战。年轻时多犯几次错误,有好处。但能一步到位的,一次就对的,就别出岔子。
6、每天都是新的一天,烦恼痛苦不过夜。每天早晨以乐观热..
环境:
有100台server,配置好了密钥登录方式。ip地址为;192.168.217.1~100。跑着相同的服务,但是其中一部分服务进程出现异常,会在该服务的日志文件/home/logs/cc.log 中生成带有关键字err的错误。一部分服务能够正常工作。要求写shell查出出现异常服务的IP。
个人认为两个shell更加容易理解。在管理服务器上写如下两个脚本
[root@xmydlinux ~]# vi c.sh
#!/bin/bash
IP=`ifconfig |sed -n '/192.168.217./{s/.*addr://;s/ .*//;p}'`
ERRTURE=`grep err /home/logs/cc.log`
#如文..
一、软件概述
DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地 文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中. 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用.
Heartbeat:heartbeat是一种主要提供高可用的软件
Ttserver:ttserver是一种高并发的分布式持久存储系统,具体可以自己google一下
二、ttserver + DRBD + Heartbeat&..
语法: grep [options]
PATTERN [FILE...]
grep用以在file内文中比对相对应的部分,或是当没有指定档案时,
由标准输入中去比对。 在预设的情况下,grep会将符合样式的那一行列出。
此外,还有两个程式是grep的变化型,egrep及fgrep。
其中egrep就等同於grep -E ,fgrep等同於grep -F 。
参数
1. -A NUM,–after-context=NUM
除了列出符合行之外,并且列出後NUM行。
ex: $ grep -A 1 panda file
(从file中搜寻有panda样式的行,并显示该行的後1行)
2. -B NUM,–before-context=NUM
与 -A NUM 相对,但这此参数..
#!/usr/bin/env python # -*- coding: utf-8 -*- import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915..
lsof命令详解:
lsof命令的原始功能是列出打开的文件的进程,但LINUX下,所有的设备都是以文件的行式存在的,所以,lsof的功能很强 大.一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”
sof指令的用法如下:
lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c abc 显示abc进程现在打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/loc..
背景:
由于有大量的windows虚拟机用来做一些任务。这些windows上的机器程序要经常更新。每次部署升级,需要一台台的远程桌面上去操作,进行简单升级操作。这样讲花费大量时间。并且伴随windows机器的增加,将更加难管理。
目标:
无需远程桌面,即可完成基本操作,如:部署升级程序,远程启动及停止代理服务,重启,关机等。
解决方法:
采用python socket 的C/S形式来实现,在管理端发送管理命令到被管理端执行,进行更新程序代码等操作。需在windows机器上安装python。实现代码如下:
1、以下是server端,部署到被管理的windo..
Python进程这一计算机语言在实际的应用中,如果你在实际应用的过程中遇到相关问题,你就可以通过以下的文章对其的实际应用有较为详细的介绍,以下是文章的具体介绍,希望你会有所收获。
Python进程
更多相关推荐 守护进程:通常被定义为一个后台进程,而且它不属于任何一个终端会话(terminal session)。许多系统服务由守护程序实施;如网络服务,打印等。 下面是转自一位网友写的编写守护进程的步骤:
1. 调用fork()以便父进程可以退出,Python进程这样就将控制权归还给运行你程序的 命令行或shell程序。需要这一步以便保证新进程..
在Django中采用MTV(M 代表模型(Model),T 代表模板(Template),V 代表视图(View)),Model用来处理与数据库相关的事务。因此Django中Model将和各种数据库(包括 PostgreSQL、MySQL、SQLite、Oracle等)进行交互。
A.模型安装和配置相关
1、Model必须建立一个应用之上。建立应用的方法:
python manage.py startapp books
2、模型安装前,必须配置settings.py文件中的INSTALLED_APPS,配置对应的应用。
3、检查模型的有效性 :
python manage.py validate
4、检查模型建表使用的sq..
========对于ROOT用户的密码操作(更改用户密码)========
刚刚安装完的Mysql,只一有个root用户,密码为空,而且只能在本机登录!
为root加上密码xxx123:
./bin/mysqladmin -u root password xxx123
或写成
./bin/mysqladmin -uroot password xxx123
加下密码之后,在本进行进入mysql:
./bin/mysql -uroot -p
更改root的密码由xxx123改为yy1234:
./bin/mysqladmin -uroot -pxxx123 password yy1234
=======grant 权限 on 数据库对象 to 用户======..
一、re.match
re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词。
import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
m = re.match(r"(\w+)\s", text)
if m:
print m.group(0), '\n', m.group(1)
else:
print 'not match'
re.match的函数原型为:re.match(pattern, string, flags)
第一个参数是正则表达式,这里为"(\w+)\s"..
crontab -l > crontab
echo "* * * * * source ~/.bash_profile;" >> crontab
crontab crontab
在多台机器管理增加定时任务,不用一台一台机器登陆crontab -e去修改!
简单ping测试脚本
#!/bin/bash HOSTS="www.baidu.com" COUNT=100 SUBJECT="Lost Packet,plesae note!" EMAILID="youmail@domain.com" for DesHost in $HOSTS do count=$(ping -c $COUNT $DesHost | grep 'received' |awk -F ',' '{print $2}' |awk '{print $1}') if [$connt lt 95];then&n..