我想每天创建一次db的excel备份。我使用SSH访问我的网络服务器,但我无法安装cron,我需要一个sudoier的密码或其他东西。我想我可以联系我的网络托管服务提供商。
但必须有另一种选择。
我是否有办法检查脚本是否已运行?
例如,如果没有人向db添加任何条目,则我不需要备份db。
因此,当有人提交某些内容时,我会使用它来启动编写excel文件。如果其他人在那天提交了一些内容,我选择不写excel文件。
excel文件的时间戳为excel file_2013-11-11.xls
我唯一担心的是,如果两个人同时提交,excel文件会崩溃,或因为你无法在同一时间编写excel文件而被锁定,该怎么办?
答案 0 :(得分:1)
您可以为您的服务设置API并使用外部请求来触发过程
export SECRET=myapitoken
curl http://example.com/api/jobs?id=123&token=$SECRET
注意:您可以采取其他安全措施来限制访问。按IP地址过滤将是一种廉价,易于实施的解决方案。
除此之外,如果你只是谷歌“网络服务器监控”,你会发现很多服务可供你使用
答案 1 :(得分:-2)
您不安装cron,默认情况下应安装它。
由于您似乎已经拥有shell访问权限,因此您应该可以使用crontab -e
编辑用户的个人cron文件。请记住,此文件中的任何作业都将以您的用户身份运行,而不是root用户,并且可能与Apache使用的用户不同。相应地规划您的脚本权限。
答案 2 :(得分:-2)
您可以使用crontab
每天运行一次
0 0 */1 * * /path_to_script
cron
守护程序是一个长时间运行的进程,它在特定的日期和时间执行命令。您可以使用它来安排活动,可以是一次性事件,也可以是重复性任务。
分钟(s)天(s)个月(s)个星期(s)
字段由空格或制表符分隔。前五个是整数模式,第六个是要执行的命令。下表简要介绍了每个字段。
字段值描述
分钟0-59命令序列执行的确切分钟
小时0-23命令序列执行的一天中的小时
第1-31天命令序列执行的月份日期
月1-12命令序列执行的年份中的月份
工作日0-6命令序列执行的星期几。星期日= 0,星期一= 1,星期二= 2,等等。
command Special要执行的完整命令序列。命令字符串必须符合Bourne shell语法。可以接受命令,可执行文件(例如脚本)或组合。