282013
 

转帖:http://www.blogfodder.co.uk/2012/4/20/win-2008-task-scheduler-with-return-code-1-0×1

今天在一台Windows服务器上部署一个计划任务的时候,遇到了这么一个问题。
要执行的任务很简单,即运行一个Python脚本,每小时执行一次。这种任务以前已经创建过很多个,一直运行良好。但是这次不同,任务计划程序每次都会迅速返回一个0×1的值然后退出任务,并且不认为任务失败。
查看脚本的执行log文件,发现直接就没有被执行过,而且手动执行可以得到完全正确的结果。由此可见,问题就出在了任务计划程序的配置上。
但是这个配置和以前都是完全一致的,可是就是始终不能执行。放Google搜,似乎中文的结果里面没有见到合适的解决方案,又换成英文再搜,终于有了答案。
原来,只需要在创建任务中的“操作”选项卡里面,新建操作,“程序或脚本”中只填脚本名称,在“起始于”里面填写脚本所在的路径。保存,生效!
虽然问题解决了,但是只能算是知其然,依旧不知其所以然。

附网贴原文:
Friday, April 20, 2012
I recently had the most infuriating issue with a scheduled task on a Win 2008 R2 server.

All I wanted it to do was run a .bat file once a day which fired a WGET script. If I logged into the server and clicked the bat file, it fired and triggered the WGET script and everything worked.

But whenever I tried to run it from the Task Scheduler (Either manually pressing run or letting it fire off the schedule), it failed and returned the code 0×1

I checked the history and log and it said it successfully completed with the following:

action “C:\Windows\SYSTEM32\cmd.exe” with return code 1

Great bit of information! Anyway, I spent quite some time changing permissions and users to no avail. I managed to make it work in the end, but its still not completely obvious to me why this makes a difference.

Instead of putting the full file path in the program/script textbox, use the Start in (Optional) field to put the folder that the .bat file is actually in – Like so:

Once you have done this, make sure you tick the ‘Run with highest privileges’ tick box

And that’s it. Its now returning the correct result code 0×0 and my script is running! Finally.

112012
 

    想写篇新的内容,结果中间断线了,刷新一下写的东西都消失了,极为郁闷。所以一下内容是原本内容的简写版本,无图无格式,凑合着看吧,唉!
    前一阵子搞清楚了Suffusion出错的原因:它占用内存太多,超过了32MB。所以我之前的BYETHost的免费空间不能顶的起来了。后来暂时寄存在强哥的VPS上,再后来自己抢到了Buyvm的VPS,所以又搬了一次家。
    手机上安装了Better Terminal Pro 挺好用的。
    wget了一下LNMP的安装包,流程相当自动化,也很顺利。自己不会配置Nginx,就按着LNMP.org的说明来做,设置好了似乎还是没有生效。最后Reboot了一下才好的。关键的就在于安装阶段分配给Nginx主配置文件/usr/local/nginx/conf/nginx.conf是指向/home/wwwroot根目录的,而使用/root/vhost.sh配置的域名seanluo.com和附加的域名www.seanluo.com等,位于配置文件/usr/local/nginx/conf/vhost/seanluo.com.conf中,是指向在此处配置的一个绝对路径的,默认是/home/wwwroot/seanluo.com。
    DNS是用的HE.NET,很给力,除了A记录,还支持AAAA。看到我的VPS有16个IPv6地址,果断解析之。0.9版本的LNMP已经把Nginx升级到了带ipv6选项编译的版本,所以无须费心,之后就是nginx主配置文件和seanluo.com.conf文件,把listen 80;改成listen [v4地址]:80;和listen [v6地址]:80;即可。
killall nginx
/usr/local/nginx/sbin/nginx
搞定。现在博客http://www.seanluo.com同时支持v4和v6接入了。

另有个问题,搭建OpenVPN到现在也没搞好。客户端可以连接到VPS并获得IP了,却不能通过VPS访问外网,估计是iptables设置有问题,又不知道是啥问题,没研究过这个防火墙。坐等高人指点了。

摘抄:

1、添加虚拟主机,执行如下命令:/root/vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名,目录不一定非要是/home/wwwroot/,如果/data/ 下面有大量的空间也可以填写/data/www/lnmp 之类的。),再选择是否添加伪静态规则,默认已经有了discuz、discuzx、wordpress、sablog、emlog、dabr、phpwind、wp2(二级目录wp伪静态),可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行(注:添加完执行/etc/init.)。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。

2、删除虚拟主机,ssh执行:rm /usr/local/nginx/conf/vhost/域名.conf