在CentOS 6 的cron/crontab中使用wine运行exe程序

在CentOS 6 的cron/crontab中使用wine或执行其他命令,可将正常输出及异常输出重定向到指定文件排查错误。通常的错误为中文乱码——LANG为非中文设置;用户主目录为OS根路径——HOME未指定。解决方法为在crontab的命令或shell脚本中通过env或export语句设置环境变量,即“export HOME=/home/username;export LANG=zh_CN.UTF-8;”。 本文为原创内容,转载请注明出处。
摘要由CSDN通过智能技术生成

        几个月前服务器的OS从Ubuntu 10.04转为CentOS 6.3,装好wine后手动运行shell脚本可以正常运行指定的exe程序(脚本和Ubuntu中的一样),于是就直接修改crontab定时自动运行该脚本。

       最近却才发现该exe并未自动执行过一次(大汗,该exe作用为备份数据库、清空过时备份),于是立刻去查找问题原因,初步推测为以下几点:

       1.crontab配置出错

       原来的配置为每2小时运行一次,改为每3分钟运行一次。查看crontab日志(/var/log/cron 系列日志),发现的确是每3分钟运行一次crontab配置中的脚本(日志中有记录)。在图形界面运行该脚本,功能正常。结论为crontab配置并未出错,脚本确实是每2小时运行一次。

       2.wine运行该exe程序失败

       在shell脚本中将wine运行exe的正常输出及异常输出重定向到指定文件(&>> 追加到文件末尾)。于是发现初步原因:

wine: '/' is not owned by you, refusing to create a configuration directory there

       奇怪的错误,明明已经在该用户的界面运行过winecfg,自动生成了wine的配置文件夹的啊。于是google一下(PS:我那时候用百度只搜到Ubuntu中文论坛中的“wine: '/home/username' is not owned by you, 不让用呀!”解决方

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7系统,你可以使用crontab命令设置定时任务。下面是具体的步骤: 1. 打开终端并登录到CentOS 7系统上的超级用户(root)或拥有sudo权限的用户。 2. 输入以下命令以编辑当前用户的crontab文件: ``` crontab -e ``` 如果是第一次编辑,会提示选择编辑器,默认是vi。你可以根据自己的喜好选择其他编辑器。 3. 在打开的文件,每行输入一个定时任务,格式如下: ``` * * * * * command ``` 其,`* * * * *`表示时间和日期的设置。具体的含义如下: - 第1个`*`:分钟(0-59) - 第2个`*`:小时(0-23) - 第3个`*`:日期(1-31) - 第4个`*`:月份(1-12) - 第5个`*`:星期(0-7,其0和7都表示周日) `command`是要执行的命令或脚本路径。 例如,如果你想每天凌晨2点运行一个脚本,可以使用以下设置: ``` 0 2 * * * /path/to/script.sh ``` 4. 保存并关闭文件。在vi编辑器,可以按下`Esc`键,然后输入`:wq`并按下回车键。 5. 定时任务已经设置完成。现在,crontab将在指定的时间自动执行你设置的命令或脚本。 你也可以使用`crontab -l`命令查看当前用户的定时任务列表,使用`crontab -r`命令移除当前用户的定时任务。 请注意,定时任务将以当前用户的身份执行。如果你希望以其他用户的身份执行定时任务,可以使用`sudo crontab -e`命令编辑root用户的crontab文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值