So I've been toying around, and trying to get darkstat.db on tmpfs rather than the onboard flash.
tmpfs is essentially ramdrive, right?
For some reason though, darkstat service isn't, or is unable, to create the darkstat.db in /var/log/darkstat/ when launched from a startup script.
If I manually run the script, after startup, darkstat.db does get generated.
I can't figure it out.
/config/scripts/post-config.d/startdark.sh
#!/bin/bash echo $(date +"%h %e %T") 'running startdark.sh' >> /var/log/startdark.log sudo service darkstat stop |& tee -a /var/log/startdark.log sudo mkdir /var/log/darkstat |& tee -a /var/log/startdark.log sudo chmod -R 777 /var/log/darkstat |& tee -a /var/log/startdark.log sudo chown -R nobody:nogroup /var/log/darkstat |& tee -a /var/log/startdark.log sleep 10 |& tee -a /var/log/startdark.log sudo service darkstat start |& tee -a /var/log/startdark.log exit 0 |& tee -a /var/log/startdark.log
Trying to output to a log file to see if there's any errors.
/var/log/startdark.log
Feb 24 12:45:15 running startdark.sh Stopping darkstat network daemon : darkstat... not running. Starting darkstat network daemon : darkstat done. .
I've tried different owners and perms on the /var/log/darkstat folder, but nothing seems to work.
ubnt@edgerouter:~$ ls -al /var/log/darkstat total 0 drwxrwxrwx 2 nobody nogroup 40 Feb 24 12:45 . drwxr-xr-x 12 root root 400 Feb 24 12:45 ..
ubnt@edgerouter:~$ ls -al /var/log/darkstat total 0 drwxrwxrwx 2 root root 40 Feb 24 12:53 . drwxr-xr-x 12 root root 400 Feb 24 12:53 ..
ubnt@edgerouter:~$ sudo /config/scripts/post-config.d/startdark.sh Stopping darkstat network daemon : darkstat... stopped. . mkdir: can't create directory '/var/log/darkstat': File exists Starting darkstat network daemon : darkstat done. . ubnt@edgerouter:~$ ls -al /var/log/darkstat total 8 drwxrwxrwx 2 root root 60 Feb 24 12:55 . drwxr-xr-x 12 root root 400 Feb 24 12:53 .. -rwxrwxrwx 1 root nogroup 6156 Feb 24 12:55 darkstat.db
Also, the monthly script that renames the db seemingly fails to rename the db.
Manually running script from SSH is successful though.
I know scripts are running, as they are writing to log files in /var/log
/config/scripts/darkstatsmonthly.sh
#!/bin/bash echo $(date +"%h %e %T") 'running darkstatsmonthly.sh' >> /var/log/dakstatsmonthly.log sudo service darkstat stop |& tee -a /var/log/dakstatsmonthly.log sudo mv /var/log/darkstat/darkstat.db /var/log/darkstat/darkstat.$(date +"%m_%d_%Y").db |& tee -a /var/log/dakstatsmonthly.log sleep 10 |& tee -a /var/log/dakstatsmonthly.log sudo service darkstat start |& tee -a /var/log/dakstatsmonthly.log exit
/config/scripts/darkstatsrestart.sh
#!/bin/bash echo $(date +"%h %e %T") 'running darkstatsrestart.sh' >> /var/log/dakstatsrestart.log sudo service darkstat restart |& tee -a /var/log/dakstatsrestart.log exit
So, scripts run from SSH are successful.
Same scripts run from schedule are unable to mv db file, and starting darkstat from script causes db to not get created.
task-scheduler { task dailydarkstat { crontab-spec "0 0 * * *" executable { path /config/scripts/darkstatsrestart.sh } } task monthlydarkstat { crontab-spec "0 0 1 * *" executable { path /config/scripts/darkstatsmonthly.sh } }
Any thoughts?