标签: scripting

mysqldump 成功后发送电子邮件

我有一个脚本,它将通过 mysqldump 备份 mysql 数据库。我想在此脚本中添加另一个选项,以便在转储成功或失败时发送自动电子邮件。

这是脚本:

#!/bin/sh
BACKUP=/data/backup/sql2/new_backup/daily
cd $BACKUP
mkdir `date '+%d-%m-%Y'`
NOW=$(date +"%d-%m-%Y")

MUSER="root"
MPASS="mypass"
MHOST="sql4"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"

DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=$BACKUP/$NOW/mysql-$db.$NOW-$(date +"%T").sql.gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS --lock-all-tables $db | $GZIP -9 > $FILE
done
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

scripting shell

1
推荐指数
1
解决办法
7109
查看次数

某种来自 FTP 站点的自动下载器?

一些公司使用 FTP 来发布我们从那时起需要的更新,是否有软件可以自动化?或者我会为这个过程编写脚本?有任何想法吗?

scripting linux ftp

0
推荐指数
1
解决办法
2872
查看次数

基本自动化

我是一名新手服务器管理员,最近从 Slicehost.com 购买了一个帐户并使用它来托管一些个人网站,因此我可以了解更多信息(我主要是 Web 开发人员)。

几年前,我记得在 Windows 上使用批处理脚本可以让我自动化某些基本的事情。Unix 上有这样的东西吗?

我想在 Apache2 中自动设置新域,因此基本上是创建目录、设置权限、在 sites-available 中创建配置文件,然后运行 ​​a2ensite 命令,最后重新启动 Apache。

这可以从我可以从命令行运行的基本脚本中实现吗?您可以提供任何基本的指示和指导,我们将不胜感激。

谢谢!

automation scripting unix apache-2.2

0
推荐指数
1
解决办法
263
查看次数

创建一个删除所有用户数据文件夹(所有用户和默认用户除外)的批处理文件?

我正在使用 Windows XP 并想创建一个批处理文件,删除除All Users和之外的所有用户数据文件夹Default User。我怎样才能做到这一点?

scripting windows-xp batch

0
推荐指数
1
解决办法
2866
查看次数

用于ping网络中所有机器的脚本,以找到正在运行的机器?

我正在寻找一个简单的脚本(可以在 Windows 平台上执行)来 ping 所有机器,并将“On”机器(将回复的机器)的 IP 写入文本文件。

networking scripting windows ping

0
推荐指数
1
解决办法
3174
查看次数

Shell脚本自动提示对一切都是肯定的

如何在 shell 脚本中运行命令自动提示 yes 提示使用,以便我可以自动化脚本?

scripting shell

0
推荐指数
1
解决办法
2602
查看次数

Shell 脚本 - 如何替换行

Ubuntu 9.10

嗨,大家好,

我想创建一个脚本,它会自动更新 .htaccess 文件中的一行。有人可以指点我一些关于创建基本“查找和替换”脚本的说明吗?

我正在想象一些基本上说“寻找特殊标记#ABC和#XYZ...删除标记之间的条目并将其替换为'foo'”的东西。

scripting linux ubuntu shell

0
推荐指数
1
解决办法
352
查看次数

SSH 不将标准输出重定向到本地终端

我在 csh 脚本中有以下相关行:

#!/bin/csh -xv
set dvar = `date +"^%m\/%d\/%y"`
set filedate = `date +%b%d%Y`
set grepstring = "grep "\"$dvar\"" </home/user/log/logfile"
set outstring = ">> serverlog_$filedate.txt"
grep "$dvar" <logfile >serverlog_$filedate.txt
ssh SERVER1 \"\"$grepstring\"\" $outstring
Run Code Online (Sandbox Code Playgroud)

本地日志文件上的第一个 grep 效果很好,但 SSH grep 将其输出写入远程目录。

该行是从批处理文件中出来的:

ssh SERVER1 ""grep "^01\/05\/10" <home/user/log/logfile"" >> serverlog_Jan052010.txt
Run Code Online (Sandbox Code Playgroud)

当我输入它时(当然少了一组引号)它工作正常,我只是无法从 csh 脚本中得到它。

你如何让这个命令输出到本地机器上的指定文件?

编辑: 这是由于 womble 起作用的最终结果:

#!/bin/csh
set dvar = `date +"%m\/%d\/%y"`
set filedate = `date +%b%d%Y`

grep "^$dvar" logfile > serverlog_$filedate.txt
ssh SERVER1 grep "^$dvar" /home/user/log/logfile >> serverlog_$filedate.txt
Run Code Online (Sandbox Code Playgroud)

scripting unix ssh command-line-interface redirection

0
推荐指数
1
解决办法
3164
查看次数

init.d 脚本不起作用......但如果我在控制台中执行它,该命令会起作用

如果我从命令行执行它,我有一个可以正常工作的命令......但是当我把它放在一个 init.d 脚本中时它不会启动(好吧..它启动但具有与运行时不同的行为直接地)。

知道为什么这不适用于 init 脚本吗?

命令是: bluepill load /var/www/html/bluepill.conf

init.d 脚本是:

    #!/bin/sh

    ## Based on http://www.novell.com/coolsolutions/feature/15380.html
    # chkconfig: 345 99 1
    # processname: solr
    # Provides: bluepill
    # Default-Start: 3 4 5
    # Default-Stop: 0 1 2 6
    # Short-Description: bluepill daemon, providing process monitoring
    # Description: Bluepill

    # Check for missing binaries
    BLUEPILL_BIN=/usr/local/bin/bluepill
    test -x $BLUEPILL_BIN || { echo "$BLUEPILL_BIN not installed";
            if [ "$1" = "stop" ]; then exit 0;
            else exit 5; fi; }

    # Check …
Run Code Online (Sandbox Code Playgroud)

scripting linux centos inittab

0
推荐指数
1
解决办法
3万
查看次数

意外标记“fi”附近的语法错误

我创建了一个非常简单的脚本(见下文),但无法使其正常运行。我总是收到消息说

line 5: syntax error near unexpected token 'fi'
line 5: 'fi'
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此脚本时。

#!/bin/sh
rm /opt/file_name
if $? -ne 0 then
    echo 'error'
fi
exit
Run Code Online (Sandbox Code Playgroud)

如果这有什么不同,我会在 Red Hat Linux 上运行它。

如果有人可以帮助确定 if 语句有什么问题,我将不胜感激。

账单

scripting linux syntax

0
推荐指数
1
解决办法
7325
查看次数