Articles of linux

从驱动器恢复数据

我有一台运行Centos 6的服务器。它已经哼了好几年了,我一直在备份数据。 突然之间,在重新启动之后,它变成了只读模式。 我认为其中一个文件夹没有正确备份,我想访问这些数据。 以下是我所做的: 系统上安装了新的硬盘驱动器。 安装了Ubuntu 15.04桌面。 从新驱动器启动。 当我做: lsblk -l 它告诉我,我有两个驱动器,分区如下: sdb —– sdb1 459.8 G —– sdb2 8 K —– sdb3 6 G sda —– sda1 102 M —– sda2 649 G sdb是新的启动驱动器sda是旧的启动驱动器 我可以安装sda1罚款 当我尝试挂载sda2时,出现以下错误消息: unknown filesystem type 'LVM2_member' 任何想法我能做些什么来获得/ dev / sda2上的数据?

Nginx白名单文件扩展名

server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 server_name public; root /var/www/public; location = /gameserver/ { root /var/www/public/gameserver; index index.html; if ($request_filename !~* [pk3]$) { rewrite ^ /404.html; } } } 我是Nginx新手,我已经尝试了几个小时(谷歌和阅读手册),但我不知道如何拒绝所有的文件扩展名,除了.pk3与Nginx。 / var / www / gameserver /指向一个共享链接,我只想要.pk3的可下载文件。 这将是一个小游戏服务器与朋友一些有趣的,没有涉及金钱。 谢谢你的时间, […]

优化Linux文件系统读取〜500M的小文件

我们看到一个文件系统上的性能问题,这个文件系统包含了相对较小(通常为几十kb)〜150 K目录的大约500 M个文件。 文件访问主要是读取和写入相当罕见。 文件大多存储在散列的目录层次结构中,每个目录有大约30K个文件,但在某些情况下,一个目录中最多可能有500个K文件。 服务器共享文件系统到〜10台客户机。 获取目录列表通常很慢,有时候甚至在本地读取文件的绝对path。 这是运行Ubuntu 12.04.4(内核:3.8.0 / x86_64)的物理服务器,我们在硬件RAID-6卷上使用ext4。 这种情况下推荐的文件系统设置是什么? 有一个特别适合这种情况的文件系统(例如ext4,xfs,btrfs,…)吗? 我们应该使用什么样的RAIDconfiguration(例如sw和hw,RAID级别等)? 怎么样的文件共享设置(技术[如NFS与竞争],configuration,…)?

systemctl无法parsingkill模式,忽略混合

在CentOS 7上,我想检查nginx服务的状态: # systemctl status nginx -l nginx.service – The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled) Active: inactive (dead) Jun 30 03:40:08 dev01 systemd[1]: [/usr/lib/systemd/system/nginx.service:13] Failed to parse kill mode, ignoring mixed 那么我启用它: # systemctl enable nginx并再次检查它: # systemctl status nginx -l nginx.service – The nginx HTTP and reverse proxy server […]

如何更新ldap中已存在的用户密码?

我想通过从/etc/passwd和/etc/shadow导入数据来更新用户的密码[用户已经存在于LDAP中]。 如何做到这一点? 我将给出我的设置概述。 pipe理节点[xcat]pipe理的节点用户标识和密码,ldap不用于此目的。 我们已经通过以下给定的步骤将用户从pipe理节点导入到ldap服务器: 一个。 我从pipe理节点复制了/etc/passwd , /etc/group和/etc/shadow 。 湾 我跑了以下几点: getent passwd > /tmp/passwd.out getent shadow > /tmp/shadow.out cd /usr/share/migrationtools/ ./migrate_passwd.pl /tmp/passwd.out > /tmp/passwd.ldif ldapadd -x -W -D "cn=Manager,dc=aadityaldap,dc=com" -f /tmp/passwd.ldif 现在我们要更新密码,并保持ldap服务器与outpipe理节点同步。 请给我想法如何实现这一点。 我试图以同样的方式将用户导入到ldap,但它给我一个错误。 [root@iitmserver2 migrationtools]# ldapmodify -x -W -D "cn=Manager,dc=aadityaldap,dc=com" -f /tmp/passwd.ldif Enter LDAP Password: ldapmodify: modify operation type is missing at […]

Apache2无法列出没有设置o + r的目录或文件

我有一个Apachenetworking服务器,我们正在准备通过FTP / S为客户提供更方便的HTTPS协议上传的数据。 目前,我正在使用mod_authnz_external来允许用户进行身份validation,但一旦通过身份validation,用户就无法在主目录中看到“其他”权限设置为零的文件。 我不确定为什么会出现这种情况,因为如果用户通过身份validation,我希望他们能够看到他们自己的用户和组拥有的文件。 要解决这个问题,我也尝试将Apache用户的www-data添加到所有用户命名的组(作为辅助组),他们有权限读取自己的主目录中的文件。 但是,这不允许用户在login网站时看到他们自己的文件,但是如果我通过“www-data”获得shell访问权限并从terminal浏览主目录,我可以查看这些文件。 我需要知道我可能做错了什么,以及如何通过Apache服务用户主目录的内容而不必授予他人许可的最终结果。 任何帮助,这是非常感谢,谢谢。

如何确定哪些进程的大部分inode已打开

这是我的问题,在慕尼黑图表visibile: 我使用/打开的inode“突然”不断增加。 有没有办法确定哪个进程保持当前打开的inode最多? 我用https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-使用的方法,并find并清理一些文件夹与邮件和日志,我可以摆脱…仍然,如果inode是开放的,那么必须有一些进程保持使用,对吧? 这可能不一定是增加来自文件最多的文件夹 – 或者我错了吗? 所以我想看看是谁让他们打开,然后跟踪使用情况,看看增加的来源 更新 基于Andrew的脚本,我创build了一个也显示进程名称的版本。 因为我有一些运行的nginx / apache进程可能会重新生成,所以我希望在进程名称上看到结果。 for dir in /proc/*/fd; do echo -n "$dir "; pid=`expr "$dir" : '\/proc\/\(.*\)\/.*'`; # extract the pid pname=`ps -p $pid -o comm=`; # grab process name echo -n "$pname "; ls $dir 2>/dev/null | wc -l; done | sort -n -k 3 […]

使用rsnapshot将其他parameter passing给rsync

我的备份是由rsnapshot执行的,效果很好。 除了/ home卷的其中一个作业,我希望rsync将sym链接复制为物理目录/文件。 我相信这个参数是–copy-links for rsync,但似乎无法find一种方法将它从rsnapshot传递到rsync。 最好我想在工作的基础上做这个工作。 虽然它使得我的/ home树不适用于/ etc和/ var。

将权限写入特定文件而不更改所有权

据我所知,给一个用户的写权限,我可以改变文件的所有者给该用户,并给它“用户写权限”(我不想这样做),或保持同一个所有者,但将此用户添加到文件的组中,并为该组提供写入权限。 但是后者会给这个用户权限给与这个组关联的所有其他文件(无论这些权限是什么)。 所以说,如果文件是由user1和组user1拥有,则大多数user1文件也有user1组。 如果我将用户2添加到组user1,用户2将获得额外的权限。 我能想到的唯一方法是为这个特定文件创build一个组,使用chown改变组,然后将user2添加到这个组中。 它是否正确? 在我看来,如果我必须为每个文件执行此操作,会造成很多复杂性。 我来自一个窗口背景,在那里你只需右键单击该文件,并将用户添加到该文件的权限。 因此,不需要为20个不同的文件创build20个组,然后将用户添加到所有20个组等。 任何人都可以启发我吗? 谢谢。

wget – 只有保存返回码是200,否则删除

我有一个脚本每隔几分钟检查我的公共IP地址。 问题是ISP有时会给我caching的页面(我知道,我已经使用了wget中的所有相关参数,isp是由一堆无能为力的so-and-sos形成的,这显然是他们自己的超高效caching服务器)或由我自己的路由器所做的错误页面。 结果wget保存错误页面,当它应该保存我的IP地址。 编辑: 我用什么来检测IP地址的变化 http://paste.debian.net/292602/