自由狼-台风 发表于 2008-5-7 13:03:32

MagicLinux-2.0-1缺少“run-parts”命令?

我的系统貌似缺少一个“run-parts”命令,导致cron无法自动执行某个目录中的脚本。我应该去哪里下载这个命令?怎么安装?

# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
# which ls
alias ls='ls --color=tty'
      /bin/ls
# whereis run-parts
run-parts:
# which run-parts
/usr/bin/which: no run-parts in (/usr/bt/azureus:/usr/bt/azureus:/usr/bt/azureus:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/java/jre1.5.0_05/bin:/myops/exec:/root/bin:/usr/java/jre1.5.0_05/bin:/myops/exec:/etc/init.d:/myops/exec:/opt/prog/m/PostgreSQL.MagicLinux-2.0/bin:/opt/prog/m/Java/J2SDK/bin:/opt/prog/m/Eclipse:/opt/prog/c/Apache/Tomcat/bin:/opt/prog/c/Apache/Httpd/bin:/opt/prog/m/VNC:/opt/prog/m/Firefox:/opt/prog/c/Gftp/bin:/opt/prog/m/NVU)
# run-parts
bash: run-parts: command not found
#

自由狼-台风 发表于 2008-5-7 16:04:41

在 http://examples.oreilly.com/upt3/ 处找到一个“run-part”的简易替代品:

run-parts.sh

#!/bin/bash

# Source:
#        http://examples.oreilly.com/upt3/
# Author:
#        O'RIILY
# Gain:
#        2008-05-07 16:05

# run-parts - concept taken from Debian

# keep going when something fails
set +e

if [ $# -lt 1 ]; then
        echo "Usage: run-parts <dir>"
        exit 1
fi

if [ ! -d $1 ]; then
        echo "Not a directory: $1"
        exit 1
fi

# Ignore *~ and *, scripts
for i in $1/*[^~,] ; do
        [ -d $i ] && continue
        # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
        [ "${i%.rpmsave}" != "${i}" ] && continue
        [ "${i%.rpmorig}" != "${i}" ] && continue
        [ "${i%.rpmnew}" != "${i}" ] && continue
        [ "${i%.swp}" != "${i}" ] && continue
        [ "${i%,v}" != "${i}" ] && continue

        if [ -x $i ]; then
                $i 2>&1 | awk -v "progname=$i" \
                                'progname {
                                        print progname ":\n"
                                        progname="";
                                }
                                { print; }'
        fi
done

exit 0

========================================
#!/bin/bash# Source:
#      http://examples.oreilly.com/upt3/
# Author:
#      O'RIILY
# Gain:
#      2008-05-07 16:05

# run-parts - concept taken from Debian

# keep going when something fails
set +e
if [ $# -lt 1 ]; then
      echo "Usage: run-parts <dir>"
      exit 1
fi

if [ ! -d $1 ]; then
      echo "Not a directory: $1"
      exit 1
fi

# Ignore *~ and *, scripts
for i in $1/*[^~,] ; do
       [ -d $i ] && continue
      # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
       [ "${i%.rpmsave}" != "${i}" ] && continue
       [ "${i%.rpmorig}" != "${i}" ] && continue
       [ "${i%.rpmnew}" != "${i}" ] && continue
       [ "${i%.swp}" != "${i}" ] && continue
       [ "${i%,v}" != "${i}" ] && continue
      if [ -x $i ]; then
                $i 2>&1 | awk -v "progname=$i" \
                              'progname {
                                           print progname ":\n"
                                           progname="";
                              }
                              { print; }'
      fidone
exit 0

[ 本帖最后由 自由狼-台风 于 2008-5-7 16:19 编辑 ]
页: [1]
查看完整版本: MagicLinux-2.0-1缺少“run-parts”命令?