This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Fwd: Re: Automating a Cygwin Script From Windows]



--- Begin Message --- Well there is more than one way to kill this cat. Let me add my cocktail.

I have a need to automatically run scripts, totally written in cygwin using ksh as my shell. For example I have a number of .bat files performing necessary startup functions:
echo off
set ENV="/dev/null"
set PATH=C:\cygwin\bin;%PATH%
SET IS_CYGWIN=true
set HISTSIZE=1200
set HOME="/dev/null"
set CYGWIN=tty
ksh -c "C:/cygwin/backup_e


The above "backup_e" is the work horse. It can be anything from a complicated script or starting up anything to running under cygwin.

In this case I'm not providing any parameters that can be added if you so desire. Basically backup_e is an ordinary cygwin script:
#!/bin/ksh
#
# backup_e
#
# Perform a incremental backup of drive e: of all
# files having the archive attribute set.
#
# get list of files ready to archive
exec 2>/tmp/_backup_tracelog 1>&2
echo -e "Started - `date`"
set -x
cd /e
/c/WINDOWS/system32/cmd /c "dir /s/b/a:a *" >/tmp/_backupe_1
if [ -s /tmp/_backupe_1 ]
....
....


Using this scheme does NOT require you to setup/configure cygwin's "cron". You can use Window's "Scheduled Tasks" feature under "Control Panel".

- Paul


jprice wrote:
Mike Marchywka-2 wrote:
----------------------------------------
Date: Fri, 28 Aug 2009 13:04:44 -0700
From: ddjones@gmail.com
To: cygwin@cygwin.com
Subject: Automating a Cygwin Script From Windows


I need to run a cygwin script directly via windows, probably via dos prompt or some other comparable method. This method needs to be automated and kicked off in Windows at certain times, so executing Cygwin, then manually typing in the script to run in the Cygwin prompt is out of the question.

I was hoping there would be some way to execute Cygwin and concurrently
feed
it a string of commands to execute upon opening, but unfortunately I have
not had success with this. There seems to be lots of command line options
for setting display options but nothing that would allow me to feed in a
command.

Is there any method to do this? Thanks for your time.

If you have an icon on your desktop, type the target it should
be something like cygwin.bat. You should IIRC just be able
to invoke bash with whatever params you need.

I just tried it from dos prompt seems to work.



Can I invoke bash with scripts I want it to run as parameters? For instance, if I'd like a bat file that would execute bash, and then proceed to automatically run a cygwin script at at c:\foo, I'd want something like this:

@echo off
C:
chdir C:\cygwin\bin
bash --login -i -execute c:\foo

Bash obviously doesn't contain an "-execute" option, but is there some
method to achieve this?




--- End Message ---
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]