使用LinuxBashshell为CRON作业设置目录以使用R脚本收集数据
我在使用Linux bash shell作为Windows 10的子系统设置CRON作业时遇到困难。这个想法是使用一个简单的R脚本从Twitter收集数据 首先,我在crontab中设置了一个作业。我尝试了几种方法来编写我的Rscript目录和我想保存推文的目录。这里有一些例子:使用LinuxBashshell为CRON作业设置目录以使用R脚本收集数据,r,linux,windows,bash,cron,R,Linux,Windows,Bash,Cron,我在使用Linux bash shell作为Windows 10的子系统设置CRON作业时遇到困难。这个想法是使用一个简单的R脚本从Twitter收集数据 首先,我在crontab中设置了一个作业。我尝试了几种方法来编写我的Rscript目录和我想保存推文的目录。这里有一些例子: * * * * 7 /mnt/c/Users/XXXX/Documents/Twitter/collect.R * * * * 7 cd /mnt/c/Users/XXXX/Documents/Twitter; R
* * * * 7 /mnt/c/Users/XXXX/Documents/Twitter/collect.R
* * * * 7 cd /mnt/c/Users/XXXX/Documents/Twitter; Rscript collect.R
在R脚本中,我使用的第一行代码是:
#!/usr/bin/env Rscript
然后,R脚本包含我用来收集tweet的几行代码(这段代码运行良好)
之后,我使用一段代码来存储我的推文:
# Specify dir (I have tried several ways to write this)
dirPath <- "C:\\Users\\XXXX\\Documents\\Twitter"
# Create dir for storage
if(!dir.exists(paste0(dirPath, "tweets/"))){
dir.create("tweets/")
}
# Write csv with date
save_as_csv(newTweets, paste0(dirPath, "tweets/", Sys.Date(), ".csv"),
prepend_ids = TRUE, na = "",
fileEncoding = "UTF-8")
2020年5月25日第25版
/usr/bin/env
。现在可以从两个不同的路径访问Rscript。现在,我更改了Rscript的shebang:
#/usr/bin/env Rscript
/mnt/c/Users/XXXX/Documents/Twitter/collect.R
时,shebang就是#/usr/bin/env Rscript
shell中的结果是:
/usr/bin/env: 'Rscript': No such file or directory
如果我键入#/将usr/bin/env Rscript.exe
改为shebang。我获得:
致命错误:无法打开文件/mnt/c/Users/XXXX/Documents/Twitter/collect。R:权限被拒绝
考虑到这一点,我已经开始做sudovisudo
,然后添加行
mysuername ALL=(root)NOPASSWD:/mnt/c/Users/XXXX/Documents/Twitter
以下#用户权限规范。保存的更改
错误仍然存在
第二版
df-h
我非常感谢你的帮助 干杯@alecxs。我也在尝试这个
#/mnt/c/Program Files/R/R-3.6.2/bin Rscript
并且似乎不起作用。我失踪了something@pyring你能给我们提供日程安排日期吗?谢谢@Mahmoud Odeh当然,我现在用58 17**7
来测试它。(英国时间,根据我的shell,这也是我的计算机时间。我猜被拒绝的权限是因为Rscript.exe仅适用于windows-您是否有另一个不带文件扩展名的Rscript二进制文件(适用于linux)?不幸的是,我从未使用过RTH。这是@alecxs的问题。谢谢你的帮助。干杯@alecxs。我也在尝试这个!/mnt/c/Program Files/R/R-3.6.2/bin Rscript
,似乎不起作用。我失踪了something@pyring你能给我们提供日程安排日期吗?谢谢@Mahmoud Odeh当然,我现在正在使用58 17**7
进行测试。(英国时间,根据我的shell,这也是我的计算机时间。我猜被拒绝的权限是因为Rscript.exe仅适用于windows-您是否有另一个不带文件扩展名的Rscript二进制文件(适用于linux)?不幸的是,我从未使用过RTH这是@alecxs的问题。谢谢您的帮助。
/usr/bin/env: 'Rscript': No such file or directory