I'm trying to make a Bash-script which checks if I've downloaded anything, and if I have it should scan that. I'm making it launch at startup using crontab, however that part doesn't work.
This is my code:
#!/bin/bash inotifywait ~/Downloads -m -r -e modify -e moved_to --format '%w%f' | while read file do $(clamscan --bell --recursive --max-filesize=99999 --log log/myLogs.txt $file) CLAMSCAN="$?" if [ $CLAMSCAN -eq 1 ]; then $(xmessage -buttons Ok:0,"Remove":1,"View Logs":2 -default Ok -center "Infected file: $file is found...") CHOICE="$?" if [ $CHOICE -eq 1 ]; then $(rm -r $file) elif [ $CHOICE -eq 2 ]; then $(xmessage -buttons Ok:0 -default Ok -center -file log/myLogs.txt) fi fi done
# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command SHELL=/bin/sh @reboot sh $HOME/.custom_security/Downloads_sec.sh
When I change directory to e.g '/', and then run
sh $HOME/.custom_security/Downloads_sec.sh I get this error:
Setting up watches. Beware: since -r was given, this may take a while! Watches established. ERROR: Can't open log/myLogs.txt in append mode (check permissions!). ERROR: Problem with internal logger.
The script works fine as standalone script!