1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env bash
- source "$rvm_scripts_path/base"
- # Add rvm variables on the beginning of crontab
- __rvm_cron_setup()
- {
- {
- echo "#sm start rvm"
- __rvm_env_print --cron
- echo "#sm end rvm"
- __sm.cron.show | __sm.filter.remove.group "^#sm start rvm$" "^#sm end rvm$"
- } | crontab -
- }
- __rvm_cron_remove()
- {
- __sm.cron.show | __sm.filter.remove.group "^#sm start rvm$" "^#sm end rvm$" | crontab -
- }
- __rvm_cron_command()
- {
- \typeset v schedule
- schedule="$1"
- shift || {
- rvm_error "Schedule not given, example: rvm cron command \"@daily\" rake calculate:stats"
- rvm_info "Refer to \`man 5 crontab\` for format of the scheduling definition."
- exit 1
- }
- [[ -n "$1" ]] || {
- rvm_error "Command not given, example: rvm cron command \"@daily\" rake calculate:stats"
- exit 2
- }
- {
- __sm.cron.show
- printf "%b" "${schedule} $(__rvm_which rvm) in \"$PWD\" do"
- for v in "$@"
- do printf "%b" " \"$v\""
- done
- printf "\n"
- } | crontab -
- }
- __sm.cron.show()
- {
- EDITOR="\command \cat" crontab -e 2>/dev/null
- }
- __sm.filter.remove.group()
- {
- __rvm_awk 'BEGIN{in_group=0} /'"$1"'/ {in_group=1} in_group==0 {print} /'"$2"'/ {in_group=0}'
- }
- action="${1:-}"
- shift
- case "$action" in
- setup|remove|command)
- __rvm_cron_$action "$@"
- ;;
- help)
- rvm_help cron
- ;;
- *)
- rvm_error_help "Unknown subcommand '$action'" cron
- exit 1
- ;;
- esac
|