今天给各位分享linux更新脚本怎么写的知识,其中也会对linux修改脚本文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、linux怎么写复制脚本?
- 2、请问Linux如何使用脚本自动更新全局环境变量
- 3、Linux如何编写shell脚本?
- 4、linux的软件实施shell更新脚本
- 5、linux下使用cron执行定时更新脚本遇到的问题
linux怎么写复制脚本?
#!/bin/bash
dir_source=/path/to/your_dir
dir_save=/path/to/save
sfile=$(ls -1 $dir_source)
for files in sfile
do
if [ ! -e $dir_save/$files ]; then #新文件在另外目录不存在
cp dir_source=/path/to/your_dir/$files $dir_save
elif [ $files -nt $dir_save/$files ]; then #在另外目录有同名文件存在,且有更新
cp dir_source=/path/to/your_dir/$files $dir_save
fi
done
请问Linux如何使用脚本自动更新全局环境变量
vi ~/.bashrc
PATH="$PATH":/usr/local/java/jdk1.6.0_24
JAVA_HOME=/usr/local/java/jdk1.6.0_24
source ~/.bashrc
前者是加路径进入~/.bashrc
后者是加变量进入~/.bashrc
然后source使生效
~/.bashrc是设置文件,每次执行shell脚本都会重读这个文件
Linux如何编写shell脚本?
一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。
Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。
以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。
当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用sh ./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。
整个shell脚本,其实就相当于你在终端输入的一系列命令,如果想在shell里做什么,就先想想在终端可以做什么吧,字符的的连接,就是直接用 "" 双引号,输出,变量定义无 $ 符号,但是使用时一定要加上 $ 符号。
"=" 赋值符号,两边一定不能有空格,这和其他语言有区别,尤其是你还有自己代码美观风格时特别注意,否则会报语法错误!
for 中的数组内容是以 " " 空格分隔,而非 "," 逗号分格。
条件判断 [ true ] 中括号 后面需要有一个空格,但是两个中括号之间不能有空格如 [[ true ]]。
while 条件判断可以用 () 括号,也可以用 [[ ]] 中括号。
如果用windows写shell,一定要注意换行符格式 \n 而非 \r\n , 需要借助一些编辑器(如notepad++)更改换行符格式!
linux的软件实施shell更新脚本
楼主的脚本应该是只用来更新的吧?
建议将原先脚本执行有错误的地方贴出。
我先按我的思路改下脚本吧。
#!/bin/bash
#########################################
#Function: update lnmj gdsoft
#Usage: bash lnmj_update.sh
#Author: tjt
#Company: gd
#Version: 1.1
#########################################
stop()
{
service jboss405 stop
service fileservice stop
}
bak()
{
time=$(date '+%Y%m%d' )
cd /app/temp/bak
mkdir $time
zip -r /app/temp/bak/$time/webapps_bak.zip /app/www/webapps/*
}
start()
{
service jboss405 start
service fileservice start
}
update()
{
cp /app/temp/my_auto_update/* /app/temp/
unzip -o -d /app/www/webapps/ /app/temp/my_auto_update/*
rm -rf /app/temp/my_auto_update/*
}
bak=$(bak)
stop=$(stop)
update=$(update)
start=$(start)
if[0 == 0] #这个地方“0=0”是表示更新前必须停止服务。
then
stop
# exit 0 这里要注释掉,不然停止服务就会退出脚本下面语句将不会执行。
echo "服务停止命令正常结束!" /app/temp/log
fi
#如何执行没有报错,执行备份命令
if [ $? -eq 0 ]
then
bak
echo "备份正常结束!" /app/temp/log
else #如果执行结果未成功将退出脚本,下面语句将不会执行。
exit 1
fi
#如何执行没有报错,执行更新命令
if [ $? -eq 0 ]
then
update
echo "更新正常结束!" /app/temp/log
else #同上
exit 1
fi
#如何执行没有报错,执行启动命令
if [ $? -eq 0 ]
then
start
echo "程序启动正常结束!" /app/temp/log
else #同上
exit 1
fi
思路:停止服务→成功→备份→成功→更新→启动服务
失败则退出脚本
linux下使用cron执行定时更新脚本遇到的问题
ls -l test.sh
看看test.sh有可执行权限没,没有的话
chmod +x test.sh
或者这样写crontab
*/1 * * * * sh /home/yf/test.sh
关于linux更新脚本怎么写和linux修改脚本文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。