linux修改脚本
NFS输出共享
首先查看系统中是否存在输出共享
cat /etc/exports
如果以前没有做过 这个应该是空的 出与安全考虑 即使启动了NFS服务 也没有关系 应为这个输出共享的配置文件中为空
首先我们需要在这个空的文件记录我们要输出的共享目录
格式如下:
nfs 共享名称 客户端主机地址
典型的记录格式:
/home/share *(sync,ro)
/home/share 输出共享的目录
* 代表所有主机均可访问如果想要单个主机可以直接替换*
sync,ro 是这是选项 ro权限访问权限为只读 rw可读可写
最后查询2个服务是否正常运行
portmap和NFS这2个服务
service 服务名 status 查询指定服务状态
如果没有运行就将其运行
service 服务名称 start
按照这样就OK了
但是有的服务默认不是开启的 所以每次重起电脑就会不会开启
所以需要改下服务开机启动
NFS服务运行级别是3和5
chkconfig --level 35 nfs on
这样重起也不会影响服务
示例:
我要将我的宿主目录下某个文件共享输出 输出文件名为“config”
只希望1.0的网段可以访问 权限为只读
首先打开配置文件
# vi /etc/exports
# /home/config 192.168.1.0(sync,ro)
保存
查看portmap服务状态:
# service portmap status
查看nfs服务状态:
# service nfs status
假如都是开启的
为了防止问题 我们将其关闭后开启
首先关闭这2个服务:
# service portmap stop
# service nfs stop
在开启:
# service portmap start
# service nfs start
到这里所配置的NFS共享输出已经OK了
可以用showmount -e nfs主机地址
进行查看!
如果查不到那可能没有被输出
可以重新输出:
exportfs -rv 这样应该OK了!
B. 帮改下LINUX SH脚本
#!/bin/bash
find /alidata/www/test1m/ -type d > /tmp/folder.log
for folder in `cat /tmp/folder.log`
do
size=$(/usr/bin/ -sk $folder |/bin/cut -f1)
#echo "$folder"
#echo "$size"
if [ $size -gt 1024 ]
then
#echo "$folder size $size K, larger than 1M"
chmod -R 500 $folder
fi
done
按照楼主的要求,写了如上一小段脚本,首先找到/alidata/www/test1m/所有的文件夹,接下来逐个遍历文件夹辨析其大小。如果文件夹超过了1M,那么将此文件夹的权限修改成400。
但是,我想提的是,如果其中有一个子文件夹,大小达到了1M,那么作为其父文件夹肯定大小也超过1M。所以,结果就会变成“如果文件大小超过1M,那么/alidata/www/test1m/”目录以及其子目录就变成了500的权限(本人可读可运行不可写,其他人不可读不可写不可运行)。
C. 关于修改LINUX修改自己写的脚本的图标
ubuntu10.04下是这样操作:右键shell脚本找到属性,弹出一个对话框,点击默认图标图片即可修改图标
D. linux创建脚本时必须修改权限才能执行,那怎么不修改权限就直接执行该脚本呢
linux脚本基本都是一些shell命令的组合,而shell命令大都是需要执行权限才能运行的,如果不对文件添加执行权限,那么脚本将无法运行。
E. 求大佬,linux编写带参数的修改文件的脚本:modifile.sh 使用方式(基本要求):
方法如下:
String[] cmd = {"/bin/sh","-c","test.sh parm1 parm2"};
Runtime.getRuntime().exec(cmd);
F. linux 用脚本 修改.conf文件,即时生效问题
nginx
reload的启动文件在reload的过程中不会改变
如果
-c
conf/nginx2.conf
reload的还是
conf/nginx2.conf
所以你修改
conf/nginx.conf是没有效果的。
这个时候只能stop,然后重新启动nginx,才能变更为nginx.conf
G. 第一次在Linux下编写shell脚本,完全没经验,求哪位大神帮我修改!
你好!
第一次在Linux下编写shell脚本,就能用这么多命令和变量,挺不错的,点个赞!
下面是我修改你的脚本:
#!/bin/bash
#this shell is used to classify seed file to different folder.
# data文件夹中有boxing AH CH 三个文件夹,原始数据放在boxing中,希望通过执行shell将原始数据分别#存放到AH 和 CH
#this shell is used to classify seed file to different folder.
# data文件夹中有boxing AH CH 三个文件夹,原始数据放在boxing中,希望通过执行shell将原始数据分别#存放到AH 和 CH
clear all
path01="/home/ch/data/boxing"
path00="/home/ch/data"
cd $path01
for file in `ls `
do
for sta in AH CH
do
cd $path00/$sta/
if [ ! -e "$file" ];then #判断新文件夹下是否已经有这个文件
echo -e "this $file is not in this folder--$sta. "
elif [ "$file" == *.*."$sta".seed ]||[ "$file" == *.AH.seed ];then #当文件符合这两个命名条件之一时执行复制
cp $path01/$file $path00/$sta/
else
echo -e "this $file is not belong to the $sta folder. "
fi
done
cd $path01
done
我评价一下:
你代码的逻辑如下,不知道是不是你的本意。
如果 AH、CH中不存在boxing中的某文件,
那么输出”this $file is not in this folder--$sta.
“
跳过下面的测试,继续下一轮循环
如果 AH、CH中存在boxing中的某文件,并且这个文件的文件名满足X条件
那么把这个文件从boxing文件夹中复制到AH或CH中
跳过下面的测试,继续下一轮循环
如果 AH、CH中存在boxing中的某文件,但这个文件的文件名不满足X条件
那么输出 "this $file is not belong to the $sta folder.
"
跳出,继续下一轮循环
[ "$file" == *.*."$sta".seed ]
可以匹配
..AH.seed
.t.AH.seed
003.txt.AH.seed
这样的过滤结果是你的本意吗???
下面是修改的地方:附在对比图里
H. linux怎么实现文件更改后执行脚本
1,直接运行脚本;
2,写个计划任务加入自启动项。
I. linux 批量修改主机名脚本
1、为了脚本在目标主机执行命令,你需要实现ssh无密码访问目标主机
2、ip.txt每行一个ip,新主机名包含ip,-p22不是必须的,可以去掉,或者替换成ssh定制的端口。
3、实例
#!/bin/bash
for dst_ip in `cat ip.txt`;do
HOSTNAME=`ssh -p22 root@$dst_ip "hostname"`
NEWNAME=server_${dst_ip}
ssh -p22 root@$dst_ip 'sed -i 's!${HOSTNAME}!${NEWNAME}!g' /etc/sysconfig/network'
ssh -p22 root@$dst_ip 'service syslog restart'
done
J. 如何在linux系统中编辑一个脚本,可以自动运行另一个文件夹里的所有脚本
你写进crontab计划任务就好了,具体操作,网络linux crontab
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed